CGI+GET+POST

    服务器常常以两种途径之一向脚本传递信息:GETPOST。这两种方法被称为请求方法。所使用的请求方法是通过环境变量传给脚本,该环境变量叫作REQUEST_METHOD

       Get:  对数据的请求;通过URL后面的参数发送请求信息。这些参数将放在环境变量QUERY_STRING中传给CGI程序。例如,有一个叫作Myprog.exe的脚本,从如下的链接启动它:
 
REQUEST_METHODGETQUERY_STRING包含lname=b1ow&fname=joe

       POST当浏览器将数据从一个填写表单传给服务器时,发生POST操作。对于POSTQUERYSTRING可能为空或不空,这有赖于服务器。如果有信息,则其如GET的情况一样被格式化和传递,使用STDIN从服务器传到脚本,由于STDIN是一个源,脚本需要知道有多少有效数据。于是服务器还提供了另一个变量,CONTENT_LENGTH(在post时使用),以指出到来数据的字节数。而POST的数据格式为:
variable1=value1&variable2=value2&etc

CGI应用的基本结构:初始化、处理、输出和终止

理想情况下,一个脚本具有如下形式(do-initializedo-processdo-output代表恰当的子例程): 
程序开始 
调用 do-initialize 
调用 do-proces 
调用 dooutput 
程序结束。

 

如果方法是GET,必须获得、分析、解码QUERY_STRING环境变量。如果方法是POST,必须检查QUERY_STRING并还要分析STDIN。如果CONTENT_TYPE环境变量是设为application/x-www-form-urlencoded,来自STDIN的源也需要解码。

 

CGI环境变量列表

SERVER-NAME:运行CGI序为机器名或IP地址。

SEUVER-INTERFACEWWW服务器的类型,如:CERN型或NCSA型。

SERVER-PROTOCOL:通信协议,应当是HTTP/1.0

SERVER-PORTTCP端口,一般说来web端口是80

HTTP-ACCEPTHTTP定义的浏览器能够接受的数据类型。

HTTP-REFERER: 发送表单的文件URL。(并非所有的浏览器都传送这一变量)

HTTP-USER-AGENT:发送表单的浏览器的有关信息。

GETWAY-INTERFACECGI程序的版本,在UNIX下为 CGI/1.1

PATH-TRANSLATEDPATH-INFO中包含的实际路径名。

PATH-INFO:浏览器用GET方式发送数据时的附加路径。

SCRIPT-NAMECGI程序的路径名。

QUERY-STRING:表单输入的数据,URL中间号后的内容。

REMOTE-NOST:发送程序的主机名,不能确定该值。

REMOTE-ADDR:发送程序的机器的IP地址。

REMOTE-USBR:发送程序的人名。

CONTENT-TYPEPOST发送,一般为applioation/xwww-form-urlencoded

CONTENT-LENGTHPOST方法输入的数据的字节数。

你可能感兴趣的:(web前端)