CGI环境变量、HTTP请求头、正则表达式及ASCII表详解
1. CGI环境变量
CGI程序能以多种形式接收信息,其中CGI环境变量是非常实用的一种。这些变量由父Web服务器进程提供给CGI程序,服务器依据三个不同来源的信息创建这些变量:
- 传入的HTTP请求:可提供 REMOTE_ADDR
信息。
- Web服务器程序自身:例如 SERVER_SOFTWARE
变量由Web服务器提供。
- Web客户端提供给Web服务器的HTTP请求头:像 REQUEST_METHOD
、 CONTENT_TYPE
、 QUERY_STRING
等信息,由Web服务器从HTTP请求头中提取并放入环境变量。
部分环境变量由上述多个来源的信息组合填充。例如, REMOTE_HOST
需要 REMOTE_ADDR
,还要求服务器能为给定的IP地址解析出名称; PATH_TRANSLATED
部分来自Web客户端请求的URL,部分来自Web服务器软件确定的服务器目录结构。
有些从HTTP请求头派生的环境变量并非CGI规范严格要求的,但CGI规范为Web客户端提供了扩展Web服务器提供给CGI程序的标准环境变量集的方法。一个非常流行的通过此扩展派生的CGI环境变量是 HTTP_USER_AGENT
,它包含用于调用CGI程序的Web客户端软件的名称,在创建生成特定浏览器网页的CGI程序时至关重要。扩展派生