总体导航图
学习指南
主要内容
网页制作软件
当前位置:多媒体应用基础 >> 网络多媒体应用设计 >> 创建一个特殊的脚本输出

创建一个特殊的脚本输出

    现在你已经学习了诸如输出数据一般地HTML数据发给浏览器解释显示的数据。但是如果你不想把脚本结果作为一个数据流形式发回浏览器,而是想把一个存在的页发回,怎么办? 如果你只是要脚本做一些事而不让任何结果回答给浏览器,怎么办? 不用怕,这里开始解释这些情况。

用调用另一个文本作为响应

    CGI输出不是非得一个数据流,有时可以告诉浏览器是存在服务器上的一个页,为了发出这个信息,看下面的例子:
Location: ../docs/final.html
    这个Location行用作通常的输出位置,也就是说,如果你用了Location,你就不必再用像Content-type这样的数据输出(实际上,你也不能)。正如Content-type,你也必须在这一行后面跟一个空行。
    指向这个文件的路径可以是一个URL或相对路径,所有相对路径是指相对于脚本所在的位置。例子中的final.html文本是在当前上一个目录下docs的目录下:

echo Location: ../docs/final.html
echo

    你不能Content-type和Location两个输出同时使用。比如,如果你想输出一个标准页,但是想在这个页尾加上客户的内容,你就得用Content-type自行组建这两个部分。注意:你可以用脚本命令打开一个当地文件作为数据直接将之输出。

No Response
    有时对于一个CGI脚本也许一点没有输出,有时你只是要从用户那儿收集点信息。你就不用再调用一个新文本,也不用输出结果或打开一个存在的文件,在浏览器上的屏幕还是那个样子。很幸运,这一切很容易,你只要输出下面这个命令即可(后面跟一个空行):

echo Status: 204 No Response
echo

    这个Status头部提供状态码给服务器(并且也给浏览器),状态码204将传递给浏览器,如果能识别它,它将什么也不做。

    尽管无响应是一个官方HTTP规定的一部分,但也并不是适合所有的浏览器,也许会产生奇怪的结果,那你要多试验试试看啦。

相关知识点
CGI学习
CGI精品下载