您的位置:首页 > 其它

总结下CGI常用的环境变量

2011-04-09 11:07 239 查看
每当服务器加载脚本的一个实例时下述环境变量被设置,并且是私有和特定于该实例的:

AUTH_TYPE
如果服务器支持基本的认证并且如果脚本被保护,此变量提供认证类型,此信息是特定于协议和服务器的。AUTH_TYPE的一个例子是BASIC。

CONTENT_LENGTH
如果请求通过POST方法包括数据,此变量被设置为提供通过STDIN的字节的合法数据的长度——如,72。

CONTENT_TYPE
如果请求包括数据,此变量指定数据类型为一个MIME头一一例如,application/x-www-form-urlencoded

GATEWAY_INTERFACE
它提供被服务器支持的CGI接口的版本数,其格式为CGI/版本数:如CGI/1.1。

HTTP_ACCEPT
提供由逗号分开并被客户服务器可接受的MIME类型的列表,如image/gif,image/x-xbitmap,image/jpeg,image/pjpeg和*/*。此列表实际上来自浏览器本身,服务器只是将它传到CGI脚本。

HTTP_USER_AGENT
提供可能包含版本数或其他专有数据的客户沏览器名,如 Mozilla/2.0b3(Win NT;I)。

PATH_INFO
显示由客户提供并附在虚拟路径尾的任何附加的路径信息。它通常被用作脚本的参数 。例如,在URL http://www.yourcompany.com/cgi-bin/myscript.pl/dir1/dir2中,脚本为myscript.pl,PATH_INFO为/dirl/dlr2。
PATH_TRANSLATED
仅由部分服务器支持,此变量包含由虚拟路径到被执行脚本的转换(即虚拟路径到物理路径的映射)。例如,如果到你的Web服务器根的绝对路径为/usr/local/etc/httpd/htdocs,并且你的cgi-bin文件夹在Web服务器的根水平上(即,http://www.mycorp.com/cgi- bin),一个具有URL http://www.mycorp.com/cgi-bin/search.cgi的脚本将变量PATH_TRANSLATED 设置为/usr/local/etc/httpd/htdocs/cgi-bin/search.cgi。

QUERY_STRING
显示由客户提供的附在URL尾并用一个问号与脚本名分开的任何附加信息。例如,
htt p://www.yourcompany.com/hello.html?name=joe&id=id=45中的name=joe&id=45为QUERY_STRING。

REMOTE_ADDR
它提供发请求客户的IP地址——如,199.1.166.171。此信息一直可用。

REMOTE_HOST
它提供已分解的发请求客户的主机名。如dial-up102.abc.def.com。此信息通常不可用,这是由于两种原因:调用者的IP没能通过DNS正确映射到一个主机名,或是你的站点的Web管理员屏蔽了IP查找,Web管理员通常关闭查找是因为它们意味着在每次连接之后服务器要进行额外的步骤,这将降低服务器的运行效率。

EMOTE_IDENT
如果服务器和客户支持RFC931,此变量将包含由远程用户的计算机提供的识别信息。很少有服务器和客户还支持这种协议。这种信息也没什么价值,因为用户可把此信息设置为他们想要的任何东西。即使你的服务器支持也不要用这个变量。

REMOTE_USER
如果AUTH_TYPE被设置,此变量将包含用户提供并由服务器确认的用户名。
注意
AUTH_TYPE和REMOTE_USER仅在用户成功地使其标识在服务器上得到认证后(通常通过用户名和口令)才被设置,因此,这些变量仅在建立限定区域时并且仅在此区域中有用。

REQUEST_METHOD
它提供脚本被调用的方法。对于使用HTTP/1.0协议的脚本,仅GET和POST有意义。

SCRIPT_NAME
这是被调用脚本文件的名字,它对于自引用脚本很有用。例如,可用此变量产生一个通过GET方法被调用脚本的URL来产生并输出一个表单,这个表单被提交时通过POST法调用同样的脚本。通过使用此变量而非硬编码脚本名或位置将更容易做到维护——如,/cgi-bin/myscript.exe。当移动或更名脚本,当重新配置服务器而改变cgi-bin目录,或是在另外一台机器上安装脚本时,你不必改变代码。

SERVER_NAME
这是你的Web服务器的主机名、别名或IP地址。它对于在运行时产生指向服务器的URL是可靠的——如,www.ourcompany.com。

SERVER_PORT
这是本连接的端口号——如,80。

SERVER_PROTOCOL
这是本请求所用协议的名字/版本。如, HTTP/1.0。

SERVER一S0FTWARE
这是运行脚本的HTTP服务器的名字/版本。如,HTTPS/1.1。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: