1945年南京受降仪式:请问什么是环境变量啊?

来源:百度文库 编辑:神马品牌网 时间:2024/04/28 16:24:16
谢谢大家,详细一些。

服务器与CGI程序交换信息的协作方式是通过环境变量实现的。无论什么请求,CGI程序总能在特定位置找到某些信息。无论环境变量怎样定义,总有一些变量有着特定含义。
环境变量是一写保存用户信息的内存区。例如,所有的机器都有一个PATH环境变量,当在当前目录找布道文件时就要查找PATH变量。当服务器收到一个请求后,它首先要收集它能得到的所有相关信息,并把它放入内存。那么,服务器要收集什么信息呢?

关于服务器自身的详细信息
关于用户的信息信息
关于用户请求的信息

服务器不知道CGI程序到底需要那些信息,所以它把这些信息一起收集,那么如果有什么重要的东西就不会遗漏了。
为了向你展示服务器收集那些环境变量,在上一期的教程里我已经为各位写了一个程序,该程序将几乎所有的信息都反映在了浏览器里。所以在进一步学习变量的时候,请首先把程序调试好。

环境变量
1.与服务器相关的环境变量

GATEWAY_INTERFACE 服务器遵守的CGI版本
SERVER_NAME 服务器的IP或名字
SERVER_PORT 主机的端口号
SERVER_SOFTWARE 服务器软件的名字

2.与客户机相关的环境变量

服务器了解你的CGI程序,但它一定不知道你的客户机环境。正因为如此,同客户机有关的变量才是最重要的。因为它涉及到你的浏览器等等。
ACCEPT 例出能被次请求接受的应答方式
ACCEPT_ENCODING 列出客户机支持的编码方式
ACCEPT_LANGUAGE 表明客户机可接受语言的ISO代码
AUTORIZATION 表明被证实了的用户
FORM 列出客户机的EMAIL地址
IF_MODIFIED_SINGCE 当用get方式请求并且只有当文档比指定日期更早时才返回数据
PRAGMA 设定将来要用到的服务器代理
REFFERER 指出连接到当前文档的文档的URL
USER_AGENT 标明客户使用的软件

3.与请求相关的环境变量

每次服务器受到的请求都不可能是一样的。这意味着有许多CGI程序必须注意的信息。这些与请求相关的信息包含有用户调用的信息,用户如何发送请求,以及作为请求的一部分传送了多少(什么)信息。这些对你的程序来说是非常重要的,因此我们将化些时间详细地讨论一下其中的一些变量。特别是下面写出的三个变量。这三个变量相当重要。
REQUEST_METHOD
QUERY_STRING
CONTENT_LENGTH
你必须熟悉这三个变量,因为它们用来表示数据是如何送到CGI程序的;然后你所要要做的事情就是在这三个变量里取出数据,进行下一步的编程。其他的一些变量的用处很多,你可以了解你的竞争对手正在调用你的程序,你可以辨别用户是否注册,或者你可以设置连接到你的CGI程序以便要求附加路径信息包含在请求之中----因此你不必猜测你的用户正在你的服务器的哪个页面上。
AUTH_TYPE 服务器用的确认模式
CONTENT_FILE 含有CGI程序的数据文件
CONTENT_LENGTH POST请求中向标准输入(STDIN)发送的字节数
CONTENT_TYPE 被发送数据的类型
PATH_INFO CGI程序的附加路径
PATH_TRANSLATED PATH_INFO对应的绝对路径
QUERY_STRING 传送给CGI程序的URL的问号(?)之后的那一部分
REMOTE_ADDR 最终用户的IP或主机名
REMOTE_USER 如果用户合法,则是用户的组名
REQUEST_LINE 发送给服务器的完整URL请求
REQUEST_METHOD 作为HTTP的一部分请求而传送数据的方法,比如get。
SCRPT_NAME 运行的脚本名字