明辉手游网中心:是一个免费提供流行视频软件教程、在线学习分享的学习平台!

CGI图文说明教程(10)CGI 规范之4

[摘要]CGI 规范CGI脚本输入规范  为了请求哪个有信息附在文件头后面,比如HTTP POST或者PUT,信息将被发送到脚本的stdin中。  服务器将要发送CONTENT_LENGTH 字节到这个文件描述器中。这里记住它还会给出数据的CONTENT_TYPE。服务器有义务在脚本读了CONTENT_L...
CGI 规范

CGI脚本输入规范

  为了请求哪个有信息附在文件头后面,比如HTTP POST或者PUT,信息将被发送到脚本的stdin中。

  服务器将要发送CONTENT_LENGTH 字节到这个文件描述器中。这里记住它还会给出数据的CONTENT_TYPE。服务器有义务在脚本读了CONTENT_LENGTH的字节之后发送文件的结束标识。


CGI 脚本输出规范

  脚本发送它的输出到stdout。这个输出可以是有脚本产生的文档,还可以是用于检索输出的服务器的指令。

以下是脚本命名的约定:

  通常,脚本产生输出并发送回给客户端。这样做的好处是脚本不需要每一个请求发送一个完整的HTTP/1.0文件头。有些脚本可以想避免服务器解析输出的额外开销,而直接通知客户端。为了从其它脚本中辨认出这些脚本,CGI要求如果脚本不想服务器解析它的文件头,脚本的名字要以nph-开头。在这个例子中,脚本的责任是返回一个响应给客户端的有效的HTTP/1.0(或者HTTP/0.9)。

以下解析文件头:

脚本的输出是以一个小文件头开始的。这个文件头包含了文本行,这个文本行和HTTP文件头格式是一样的,它是以一个空行来结束的。任何的文件头(不是服务器指令)被直接发送给客户端。当前, 这个规范定义了三个服务器指令:

Content-type :这是一个你返回的文档的MIME类型。

Location :它用于指定你想返回引用的服务器给文档,而不是真正的文档。如果这个的参数为URL,服务器件将重定向到客户端。如果这个的参数是一个虚拟目录,服务器将检索指定的文档就象客户原来已经请求那个文档。?指令在这里将起作用,而#指令必须重定向到客户端。

Status :它将用于给服务器一个HTTP/1.0状态行以发送给客户端。它的格式为nnn xxxxx,其中nnn是一个三位数的状态码,而xxxx是原因字符串,比如"Forbidden"。