日期:2010-09-18  浏览次数:21131 次

在你每次请求Web页面的时候,后台有大量的活动在进行:你的请求被送给一个DNS服务器,IP地址被找到,与相应的Web服务器联系,发回的数据流被解码,再由你的Web浏览器生成为HTML页面。除了对真正的HTML内容的请求,Web服务器还在其响应中包括了很多重要的“服务器变量”。这些变量含有Web服务器环境的信息——它的名字、IP地址和软件——以及当前脚本的执行环境——脚本名字和路径,以及查询字符串。

这些变量常常被聪明的Web开发人员用来增加脚本动态性和稳定性。表格A里的文档简要列出了10个更加有用的服务器变量,Web服务器在响应HTTP请求的时候一般都会发送这些变量,这个表格还会告诉你何时以及如何在你的Web网站上使用它们。

注:并不是所有的Web服务器上都有这些变量。

要获得关于这些以及其他服务器变量的更多信息,请参考《CGI 1.1规范》

表格A

变量

描述

用途

HTTP_USER_AGENT

发起请求的客户端所发送的身份字符串。例如:Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20051111 Firefox/1.5。

客户端的检测和登录;创建用于不同浏览器的不同代码。

HTTP_ACCEPT_ENCODING

客户端能够解码的编码列表。

比如,使用GZIP编码程序来压缩页面数据,以提高传输的速度。

REMOTE_ADDR

发送请求的客户端的IP地址。

获取用户的地理位置,用于有针对性的广告或者本地化信息的取回;限制对特定IP地址或者IP地址群的访问。

DOCUMENT_ROOT

服务器文档的根目录(在配置文件里定义)。

在通过Web应用程序上传、复制或者移动文件的时候创建相对/绝对路径。

SERVER_SOFTWARE

服务器的签名,以表明服务器的名字和版本,以及在上面运行的所有软件。例如:Apache/2.0.55 (Win32)。

能够识别服务器。

QUERY_STRING

跟在被请求的URL里“?”之后的变量-值对的列表。

取回或者分析通过URL发送给服务器的变量-值对。

REQUEST_METHOD

这个方法用来进行URL请求。例如:GET, POST or PUT。

识别用来请求页面的方法,访问用于变量取回的相应命名空间。

SCRIPT_NAME

被请求资源的服务器路径(相对于文档的根目录)。

取回当前执行的脚本或者资源的名字和路径。

HTTP_ACCEPT_CHARSET

客户端能够收到的字符集。

用首选的字符集发送页面数据。

REMOTE_USER

在使用HTTP身份验证的时候,用于身份验证的用户名。

内容个性化;信任书的验证。

查看本文的国际来源