嵌入式CGI开发之旅——CGI环境变量

时间:2021-08-09 19:36:55

WEB服务器和CGI/FastCGI程序之间交流信息的主要途径是环境变量(以及标准输入输出流)。这里说的环境变量是指操作系统中的环境变量。(windows系统下,PATH是很常见的一个环境变量)CGI规范对CGI程序中使用的环境变量名称及其含义做了具体而明确的规定,通常把这些环境变量成为:CGI环境变量。

常用CGI环境变量

CGI环境变量名称

说明

REQUEST_METHOD

请求类型,如“GET”或“POST”

CONTENT_TYPE

被发送数据的类型

CONTENT_LENGTH

客户端向标准输入设备发送的数据长度,单位为字节

QUERY_STRING

查询参数,如“id=10010&sn=liigo”

SCRIPT_NAME

CGI脚本程序名称

PATH_INFO

CGI脚本程序附加路径

PATH_TRANSLATED

PATH_INFO对应的绝对路径

REMOTE_ADDR

发送此次请求的主机IP

REMOTE_HOST

发送此次请求的主机名

REMOTE_USER

已被验证合法的用户名

REMOTE_IDENT

WEB服务器的登录用户名

AUTH_TYPE

验证类型

GATEWAY_INTERFACE

服务器遵守的CGI版本,如:CGI/1.1

SERVER_NAME

服务器主机名、域名或IP

SERVER_PORT

服务器端口号

SERVER_PROTOCOL

服务器协议,如:HTTP/1.1

DOCUMENT_ROOT

文档根目录

SERVER_SOFTWARE

服务器软件的描述文本

HTTP_ACCEPT

客户端可以接收的MIME类型,以逗号分隔

HTTP_USER_AGENT

发送此次请求的web浏览器

HTTP_REFERER

调用此脚本程序的文档

HTTP_COOKIE

获取COOKIE键值对,多项之间以分号分隔,如:key1=value1;key2=value2

FastCGI扩展的环境变量

FastCGI环境变量名称

说明

FCGI_ROLE

当前FastCGI程序担当的角色,如:RESPONDER,AUTHORIZER,FILTER

FCGI_DATA_LENGTH

服务器发送的数据长度,仅当FCGI_ROLE为:FILTER时有效

FILE_LAST_MOD

输入文件的最后修改时间,其值为自 1970年1月1日 零时零分零秒至今的秒数,仅当FCGI_ROLE为:FILTER时有效