`
xitong
  • 浏览: 6188034 次
文章分类
社区版块
存档分类
最新评论

总结下CGI常用的环境变量

 
阅读更多
每当服务器加载脚本的一个实例时下述环境变量被设置,并且是私有和特定于该实例的:
  • AUTH_TYPE
    如果服务器支持基本的认证并且如果脚本被保护,此变量提供认证类型,此信息是特定于协议和服务器的。AUTH_TYPE的一个例子是BASIC
  • CONTENT_LENGTH
    如果请求通过POST方法包括数据,此变量被设置为提供通过STDIN的字节的合法数据的长度——如,72
  • CONTENT_TYPE
    如果请求包括数据,此变量指定数据类型为一个MIME头一一例如,applicationx-www-form-urlencoded
  • GATEWAY_INTERFACE
    它提供被服务器支持的CGI接口的版本数,其格式为CGI/版本数:如CGI1.1
  • HTTP_ACCEPT
    提供由逗号分开并被客户服务器可接受的MIME类型的列表,如image/gifimage/x-xbitmapimage/jpeg,image/pjpeg*/*。此列表实际上来自浏览器本身,服务器只是将它传到CGI脚本。
  • HTTP_USER_AGENT
    提供可能包含版本数或其他专有数据的客户沏览器名,如 Mozilla/2.0b3Win NT;I)。
  • PATH_INFO
    显示由客户提供并附在虚拟路径尾的任何附加的路径信息。它通常被用作脚本的参数 。例如,在URL
    http://www.yourcompany.com/cgi-bin/myscript.pl/dir1/dir2
    中,脚本为myscript.plPATH_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=45QUERY_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协议的脚本,仅GETPOST有意义。
  • 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
  • SERVERS0FTWARE
    这是运行脚本的HTTP服务器的名字/版本。如,HTTPS/1.1
分享到:
评论

相关推荐

    ant_junitc测试

    我们下载apache-ant-1.8.4-bin.zip,这是Windows下常用的一种压缩格式。Apache建议下载后校验文件的完整性,为此可使用HashCalc或winMd5Sum等工具对文件进行校验。在下载页面上点击文件后面的“PGP”等链接,即可...

    PHP3程序设计

    12.7 CGI和环境变量 192 12.8 URL编码和解码 194 12.8.1 使用rawurlencode函数 194 12.8.2 自动解码 194 12.9 安全性 195 12.10 cookie 195 12.10.1 cookie安全性 196 12.10.2 如何设置和读取cookie 196 12.10.3 ...

    java 面试题 总结

    assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为...

    TCK/TK组合教程

    9.12 环境变量 第二部分 tce高级编程 第10章 eval命令 10.1 利用1ist构造命令 10.2 eval内部的concat 10.3 uploevel命令 10.4 连接参数的命令 10.5 subst命令 第11章 规则表达式 11.1 规则表达式...

    Tcl_TK编程权威指南pdf

    环境变量 registry命令 第2部分tcl高级特性 第10章 引用问题与eval 使用list命令来构建代码 在eval内部利用concat uplevel命令 subst命令 第11章 正则表达式 何时使用正则表达式 正则表达式的语法 高级...

    Python 核心编程 第二版

     2.5 变量和赋值   2.6 数字   2.7 字符串   2.8 列表和元组   2.9 字典   2.10 代码块及缩进对齐   2.11 if语句   2.12 while循环   2.13 for循环和range()内建函数   2.14 列表...

    宋劲彬的嵌入式C语言一站式编程

    2. 环境变量 3. 进程控制 3.1. fork函数 3.2. exec函数 3.3. wait和waitpid函数 4. 进程间通信 4.1. 管道 4.2. 其它IPC机制 5. 练习:实现简单的Shell 31. Shell脚本 1. Shell的历史 2. Shell如何执行命令 2.1. 执行...

    Delphi5开发人员指南

    第1章 Delphi 5下的Windows编程 1 1.1 Delphi产品家族 1 1.2 Delphi是什么 3 1.2.1 可视化开发环境 3 1.2.2 编译器的速度和已编译代码的效 率 4 1.2.3 编程语言的功能及其复杂性 4 1.2.4 数据库结构的灵活性和可...

    Python核心编程第二版(ok)

     1.5.4 其他的集成开发环境和执行环境   1.6 Python文档   1.7 比较Python(Python与其他语言的比较)   1.8 其他实现   1.9 练习   第2章 快速入门   2.1 程序输出,1print语句及“HellocWorld!...

    Python核心编程第二版

     1.5.4 其他的集成开发环境和执行环境   1.6 Python文档   1.7 比较Python(Python与其他语言的比较)   1.8 其他实现   1.9 练习   第2章 快速入门   2.1 程序输出,print语句及“Hello World!...

    Ubuntu权威指南(2/2)

    6.10 vim编辑器命令总结 149 第7章 Shell基础知识 153 7.1 引言 154 7.1.1 为什么需要Shell编程 154 7.1.2 什么是Shell脚本 155 7.1.3 运行Shell脚本 155 7.1.4 退出与出口状态 156 7.1.5 调用适当的Shell解释 程序 ...

    Ubuntu权威指南(1/2)

    6.10 vim编辑器命令总结 149 第7章 Shell基础知识 153 7.1 引言 154 7.1.1 为什么需要Shell编程 154 7.1.2 什么是Shell脚本 155 7.1.3 运行Shell脚本 155 7.1.4 退出与出口状态 156 7.1.5 调用适当的Shell解释 程序 ...

    RED HAT LINUX 6大全

    5.11 公共桌面环境特性 86 5.12 使用RPM安装Red Hat Linux的CDE 和库 86 5.13 小结 87 第二部分 服务配置 第6章 系统的启动和关闭 89 6.1 引导进程 89 6.2 初始化进程和启动脚本 90 6.2.1 init和/etc/inittab 90 ...

    Linux高性能服务器编程

    14.8 多线程环境 14.8.1 可重入函数 14.8.2 线程和进程 14.8.3 线程和信号 第15章 进程池和线程池 15.1 进程池和线程池概述 15.2 处理多客户 15.3 半同步半异步进程池实现 15.4 用进程池实现的简单CGI...

    网管教程 从入门到精通软件篇.txt

    小编的确一直都想把这方面的命令做个总结,这次辛苦老范给我们整理了这份实用的秘笈。  Bootcfg  bootcfg 命令启动配置和故障恢复(对于大多数计算机,即 boot.ini 文件)。  含有下列参数的 bootcfg 命令仅在...

Global site tag (gtag.js) - Google Analytics