cgi环境变量

2023-11-11

原文地址:http://blog.sina.com.cn/s/blog_65403f9b0100gpt2.html

REOUEST_METHOD:这个环境变量指出服务器与CGI程序之间的信息传递方式。一般包括两种:POSTGET。这个环境变量能够帮助确定请求是否是一个表单的提交和确定用户数据时怎样用请求进行传递的。GET是以明码式附加到url后面发送到服务器的,在安全上不行且有字节限制,但速度优于POSTPOST信息传递的数据对于用户是不可见的再安全上优于GET,且字节数没限制。

CONTENT_TYPE:这个环境变量的值指示所传递来的信息的MIME类型。目前,环境变量CONTENT_TYPE一般都是:application/x-www-form-urlencoded,他表示数据来自于HTML表单。

CONTENT_LENGTH:如果服务器与CGI程序信息的传递方式是POST,这个环境变量即使从标准输入STDIN中可以读到的有效数据的字节数。这个环境变量在读取所输入的数据时必须使用。

QUERY_STRING:如果服务器与CGI程序信息的传递方式是GET,这个环境变量的值即使所传递的信息。这个信息经跟在CGI程序名的后面,两者中间用一个问号‘?’分隔。例如:http://www.light.com/hello.html?frist=hello&second=world,环境变量QUERY_STRING的值为frist=hello&second=world.

CONTENT_FILE:当采用windowsHTTPD/WinCGI标准时,这个环境变量包含了用来传送数据的文件名。

REMOTE_ADDR:这个环境变量的值是发送请求的客户机的IP地址,例如上面的192.168.1.67。这个值总是存在的。而且它是Web客户机需要提供给Web服务器的唯一标识,可以在CGI程序中用它来区分不同的Web客户机。

REMOTE_HOST:这个环境变量的值包含发送CGI请求的客户机的主机名。如果不支持你想查询,则无需定义此环境变量。

AUTH_TYPE:如果服务器支持保护CGI程序的验证机制,这个环境变量的值就是验证机制的类型。

REMOTE_USER:如果环境变量AUTH_TYPE被设置了,即CGI查询受客户机验证机制保护,那么这个环境变量将包含带验证机制的用户名。记住,AUTH_TYOEREMOTE_USER只有在用户被服务器成功地确认为合法用户以后才被设置。

SERVER_NAME:这个环境变量的值是Internetdomain名的全称,它包含了服务器的主机名或者其IP地址。例如上面是服务器的IP :192.168.1.67.这个值在服务器的管理中的General中设置。

SERVER_PORT:这个环境变量的值包含了服务器接受请求时所使用的端口号,Web服务器使用这个端口来监听到达的CGI请求。例如上面的值为80,也可能为8080

SERVER_PROTOCOL:这个环境变量的值包含了用于发送请求的协议的名称和版本号。目前,只有HTTP支持CGI标准。例如,上面的值为HTTP/1.1

SERVER_SOFTWARE:这个环境变量的值包含了调用CGI程序的HTTP服务器的名称和版本号。例如,上面的值为Apache/2.2.14(Unix)

GATEWAY_INTERFACE:这个环境变量的值指示服务器实现的CGI版本。例如其之可能为:CGI/1.1.因为CGI是一个发展中的标准,因此这个环境变量对设计一个CGI程序会有所帮助,因为这个程序可能会使用不同的WEB服务器或者使用同一个未必服务器的不同版本。

SCRIPT_NAME:这个环境变量的值包含了调用CGI程序时所使用的文件名。例如上面的值为/cgi-bin/test-cgi

PATH_INFO:这个环境变量的值表示紧接在CGI程序名之后的其他路径信息。它常常作为CGI程序的参数出现。

PATH_TRANSLATED:只用部分服务器支持这个环境变量。它包含CGI程序的完整路径。例如,如果服务器的根路径是/usr/local/apache2/,而CGI程序的URL标识是192.168.1.2/cgi-bin/hello.cgi,则环境变量PATH_TRANSLATED所包含的值应为:/usr/local/apache2/cgi/bin/hello.cgi

HTTP_ACCEPT:这个环境变量的值是客户机所支持的MIME类型清单。各个类型之间用逗号分隔,例如image/gifimage/x-xbitmapand*

PATH_INFO取的是当前文的路径,效果等同用Request.ServerVariables("URL")
比如说http://www.aaa.com/bbb/ccc/ddd.asp
Request.ServerVariables("PATH_INFO")的值就是
/bbb/ccc/ddd.asp


更多ServerVariables


Request.ServerVariables("Url")
返回服务器地址

Request.ServerVariables("Path_Info")
客户端提供的路径信息

Request.ServerVariables("Appl_Physical_Path")
与应用程序元数据库路径相应的物理路径

Request.ServerVariables("Path_Translated")
通过由虚拟至物理的映射后得到的路径

Request.ServerVariables("Script_Name")
执行脚本的名称

Request.ServerVariables("Query_String")
查询字符串内容

Request.ServerVariables("Http_Referer")
请求的字符串内容

Request.ServerVariables("Server_Port")
接受请求的服务器端口号

Request.ServerVariables("Remote_Addr")
发出请求的远程主机的IP地址

Request.ServerVariables("Remote_Host")
发出请求的远程主机名称

Request.ServerVariables("Local_Addr")
返回接受请求的服务器地址

Request.ServerVariables("Http_Host")
返回服务器地址

Request.ServerVariables("Server_Name")
服务器的主机名、DNS地址或IP地址

Request.ServerVariables("Request_Method")
提出请求的方法比如GET、HEAD、POST等等

Request.ServerVariables("Server_Port_Secure")
如果接受请求的服务器端口为安全端口时,则为1,否则为0

Request.ServerVariables("Server_Protocol")
服务器使用的协议的名称和版本

Request.ServerVariables("Server_Software")
应答请求并运行网关的服务器软件的名称和版本

Request.ServerVariables("All_Http")
客户端发送的所有HTTP标头,前缀HTTP_

Request.ServerVariables("All_Raw")
客户端发送的所有HTTP标头,其结果和客户端发送时一样,没有前缀HTTP_

Request.ServerVariables("Appl_MD_Path")
应用程序的元数据库路径

Request.ServerVariables("Content_Length")
客户端发出内容的长度

Request.ServerVariables("Https")
如果请求穿过安全通道(SSL),则返回ON如果请求来自非安全通道,则返回OFF

Request.ServerVariables("Instance_ID")
IIS实例的ID号

Request.ServerVariables("Instance_Meta_Path")
响应请求的IIS实例的元数据库路径

Request.ServerVariables("Http_Accept_Encoding")
返回内容如:gzip,deflate

Request.ServerVariables("Http_Accept_Language")
返回内容如:en-us

Request.ServerVariables("Http_Connection")
返回内容:Keep-Alive

Request.ServerVariables("Http_Cookie")
返回内容如:nVisiT%

2DYum=125;ASPSESSIONIDCARTQTRA=FDOBFFABJGOECBBKHKGPFIJI;ASPSESSIONIDCAQQTSRB=LKJJPLABABILLPCOGJGAMKAM;ASPSESSIONIDACRRSSRA=DK

HHHFBBJOJCCONPPHLKGHPB

Request.ServerVariables("Http_User_Agent")
返回内容:Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.1;SV1)

Request.ServerVariables("Https_Keysize")
安全套接字层连接关键字的位数,如128

Request.ServerVariables("Https_Secretkeysize")
服务器验证私人关键字的位数如1024

Request.ServerVariables("Https_Server_Issuer")
服务器证书的发行者字段

Request.ServerVariables("Https_Server_Subject")
服务器证书的主题字段

Request.ServerVariables("Auth_Password")
当使用基本验证模式时,客户在密码对话框中输入的密码

Request.ServerVariables("Auth_Type")
是用户访问受保护的脚本时,服务器用於检验用户的验证方法

Request.ServerVariables("Auth_User")
代证的用户名

Request.ServerVariables("Cert_Cookie")
唯一的客户证书ID号

Request.ServerVariables("Cert_Flag")
客户证书标志,如有客户端证书,则bit0为0如果客户端证书验证无效,bit1被设置为1

Request.ServerVariables("Cert_Issuer")
用户证书中的发行者字段

Request.ServerVariables("Cert_Keysize")
安全套接字层连接关键字的位数,如128

Request.ServerVariables("Cert_Secretkeysize")
服务器验证私人关键字的位数如1024

Request.ServerVariables("Cert_Serialnumber")
客户证书的序列号字段

Request.ServerVariables("Cert_Server_Issuer")
服务器证书的发行者字段

Request.ServerVariables("Cert_Server_Subject")
服务器证书的主题字段

Request.ServerVariables("Cert_Subject")
客户端证书的主题字段

Request.ServerVariables("Content_Type")
客户发送的form内容或HTTPPUT的数据类型

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

cgi环境变量 的相关文章

  • 如何在 TypeScript React 项目中使用 eslint import 插件启用绝对路径别名?

    我已经安装了eslint plugin import到我的项目 我的目标是使用 import no relative parent imports error 设置禁止在我的项目中进行相对导入以增强可读性 但是 此设置会在我的项目中产生错误
  • python sys.path 故障排除

    python 文档位于http docs python org library sys html http docs python org library sys html比如说sys path is 从环境变量 PYTHONPATH 以及
  • 从子域中的 ../ 路径

    假设我创建了一个子域 http subdomain mydomain com http subdomain mydomain com 最初是在这个网址 http mydomain com subfolder folder http mydo
  • JOGL 异常 - 在 java.library.path 中找不到gluegen-rt

    线程 main java lang UnsatisfiedLinkError中出现异常 java library path中没有gluegen rt 在 java lang ClassLoader loadLibrary ClassLoad
  • 树莓派上的 /dev/mem 访问被拒绝

    我正在使用我的 Raspberry Pi 并且正在编写一个 cgi python 脚本 该脚本创建一个网页来控制我的 gpio 输出引脚 当我尝试将 RPi GPIO 作为 GPIO 导入时 我的脚本崩溃了 这是我收到的错误 File co
  • 我想回显 __FILE__ 名称而不带路径。我只想页面名称,例如:index.php

    echo FILE 给我 C EasyPHP DevServer 13 1VC9 data localweb projects FOLDERNAME index php 我只想获取不带路径的文件名 我想单独获取index php 有任何想法
  • 获取 Windows 窗体应用程序的执行目录的路径

    我想获取 Windows 窗体应用程序的执行目录的路径 即可执行文件所在的目录 有谁知道 NET 中的内置方法可以做到这一点 在VB NET中 Dim directory as String My Application Info Dire
  • Python Web 编程的不同方法的优缺点

    我想使用 Python 编写一些服务器端脚本 但我对这样做的方法有点迷失了 它从 DIY CGI 方法开始 似乎以一些相当强大的框架结束 这些框架基本上可以自己完成所有工作 中间有很多东西 比如web py http webpy org P
  • 在java中打开Windows资源管理器

    我一直在 Stack Overflow 上寻找这个问题的答案 但找不到适合我的答案 使用 Java 如何创建一个将资源管理器窗口启动到指定目录的按钮 如果可能的话 如何使其适用于 OSX 和 Linux 我不确定它在其他操作系统中如何工作
  • 如何将路径添加到 Apache PATH 变量?

    我在 apache2 的 custom conf 文件中设置了以下内容 SetEnv PATH PATH opt local lib mysql5 bin this is a test 但是它不起作用 当我打电话时 hey shell ex
  • Jetty Plugin 9启动不喜欢icu4j-2.6.1.jar

    我对 mortbay 的 Maven jetty 插件 6 有相同的配置
  • 如何获取通过网络驱动器访问的文件的 UNC 路径?

    我正在 VC 中开发一个应用程序 其中网络驱动器用于访问文件 驱动器由用户手动分配 然后在应用程序中选择驱动器 这会导致驱动器并不总是映射到相同的服务器 我该如何获取此类文件的 UNC 路径 这主要是为了识别目的 这是我用来将普通路径转换为
  • Resharper 中的警告“未使用纯方法的返回值”

    我有一个关于我正在工作的 c 项目中从 Visual Studio 中的 Resharper 收到的警告的快速问题 警告是 不使用纯方法的返回值 发生这种情况的方法如下 private static bool FilePathHasInva
  • 如何在Python中获取绝对文件路径

    给定一条路径 例如 mydir myfile txt 如何在Python中找到文件的绝对路径 例如 在 Windows 上 我最终可能会得到 C example cwd mydir myfile txt gt gt gt import os
  • Windows 内核中可能的最大文件名长度

    我想知道 什么是longestWindows 内核允许的可能名称长度 例如 我知道内核使用UNICODE STRING结构来保存所有对象路径 并且由于宽字符字符串的字节长度存储在USHORT 允许最大路径长度为 2 15 1 个字符 有没有
  • 如何使用ansible扩展Windows路径变量

    使用 win environment 可以向 Windows 主机添加 删除环境变量 但是要修改已经存在的变量 win environment 似乎没有用 因为您无法读取旧值来修改和更新变量 正确的 EDIT 从 Ansible 2 3 开
  • Python无法识别目录 os.path.isdir() [重复]

    这个问题在这里已经有答案了 我有以下 Python 代码来删除目录中的文件 由于某种原因 我的 svn 目录未被识别为目录 我得到以下输出 svn 不是目录 任何想法 将不胜感激 def rmfiles path pattern patte
  • 如何序列化 android.graphics.Path 对象

    我正在尝试将 Android graphics Path 对象存储在内部设备内存中 有谁知道如何序列化 android graphics Path 对象 另外 还有其他方法来存储 Path 对象吗 谢谢 我这样做的方法是从原始 Path 类
  • Phonegap cordova android“项目已存在”或运行时错误

    我在这里发帖是因为这让我发疯 我正在尝试让 PhoneGap 正常工作 我安装了 ADT 捆绑包 eclipse adt 插件 android SDK gt 顺便说一句 他们真的应该更新phonegap入门教程 该教程仍然告诉您单独安装所有
  • 自动备份远程托管服务器的最佳实践

    我正在尝试设置一个用于团队笔记的服务器 我想知道自动备份其数据 又称我的笔记 的最佳方法是什么 目前我计划在 docker 镜像中运行服务器 docker 镜像将由托管服务 例如 Google 托管 我找到了一个适合我的需求的免费托管服务

随机推荐

  • C++指针的用法/指针与引用的区别

    指针的简介 计算机程序本质上是对存储在内存中的数据进行的一系列操作 既然要对数据进行操作 首先要解决的第一个问题就是数据存储在什么地方 一般情况下我们通过int x 10 来定义一个变量 可以通过x来直接访问该变量存储的值 而指针提供了另外
  • 启动和关闭ADB服务(adb start-server和adb kill-server)

    经作者测试 模拟器在运行一段时间后 adb服务有可能 在Windows进程中可找到这个服务 该服务用来为模拟器或通过USB数据线连接的真机服务 会出现异常 这时需要重新对adb服务关闭和重启 当然 重启Eclipse可能会解决问题 但那比较
  • C语言

    1024G 嵌入式资源大放送 包括但不限于C C 单片机 Linux等 关注微信公众号 嵌入式大杂烩 回复1024 即可免费获取 函数指针有两种常用的用法 一种是作为结构体成员 关于函数指针作为结构体成员的用法可移步至上一篇 C语言笔记 函
  • javascript 对象的定义(JS中定义类的方式有很多种)

    javascript 对象的定义 2007 04 19 21 47 43 个人分类 JS javascr pt 对象的定义 JS中定义类的方式有很多种 1 工厂方式 function Car var car new Object ocar
  • 亲测!纯净不限速的驱动大师

    哈喽 大家好 最近又发现一个宝贝级的电脑驱动下载安装 360驱动大师 是不是有小伙伴要骂我了 先等等 等你看完小编的亲测结果 你就知道他的香了 一提到360呀 感觉大家对他的影响都不太好 因为在日常生活中它总会给我们带来莫名其妙的弹窗烦恼
  • 《数据挖掘导论》学习笔记-特征创建

    根据原有的属性我们可以创建出新的属性集 而且新的属性数目可能少于原有的属性数目 也就是降维 创建新的属性的方法有三种 特征提取 映射数据到新的空间 特征构造 1 特征提取 定义 根据原有的数据自己创建新的属性集 有的数据的属性是非常多的 而
  • 高频交易系统为何都是基于C++开发的?

    我开源过一个高频框架 说一下高频框架做的事 你就知道为什么要用C 了 高频并不是并发有多少 其实是追求的低延时 如果从网络协议开始优化 可以使用RDMA可编程网卡硬件 也可以使用DPDK这种网卡旁路技术 我们暂且不关注操作系统以下层面的优化
  • 【gmock】Google Mock 入门

    目录 1 概述 1 1 什么是Mock 1 2 Google Mock概述 1 3 参考文档 2 Google Mock使用 2 1 最简单的例子 2 2 典型的流程 2 3 自定义方法 成员函数的期望行为 2 4 Matcher 匹配器
  • Java EE之idea创建和运行jsp项目

    1 点击打开Inteliij点击Create New Project 2 点击java 再左侧Project SDK选择安装的jdk路径 勾选WebApplication和Create web xml 点击next 4 再新弹出的窗口中 P
  • java包装类自动拆装箱(AutoBoxing)及128陷阱详解

    java包装类自动拆装箱 AutoBoxing 及128陷阱详解 注意 java5之前拆装箱是需要手动完成的 java5之后可以自动的完成 1 装箱 装箱 把基本类型转成对象包装类型 方式一 Integer i Integer valueO
  • Unity3D学习之(习题练习)

    Unity3D学习之 习题拓展 1 使用continue计算1 3 5 99 从上述运算中可以看出 1到99之的奇数相加的和 首先要定义一个int sum 0 从题意可知要用到for循环 for int i 1 i lt 100 i 然后题
  • 爬虫数据提取-正则表达式re提取网页数据信息

    经过上一期我们介绍了xpath和beautifulsoup4提取数据之后 本章我们介绍一种新的提取数据的方法 就是正则表达是提取数据 首先我们介绍什么是正则表达式 正则表达式就是按照一定的规则 从某个字符串中匹配出想要的数据 这个规则就是正
  • PCB各层的含义 (solder paste 区别) 分类: 硬件相关 ...

    PCB层的定义 阻焊层 solder mask 是指板子上要上绿油的部分 因为它是负片输出 所以实际上有solder mask的部分实际效果并不上绿油 而是镀锡 呈银白色 助焊层 paste mask 是机器贴片时要用的 是对应所有贴片元件
  • 前端能力八大等级,每一级附送晋升方法

    文章目录 一 入门级 选秀阶段 能够解决一些问题 怎么进阶 二 解决问题 常在阶段 本阶段特征 进阶之路 三 优化方案 贵人阶段 特征 提升之路 四 全局观 嫔位 特征 提升之路 五 深度 妃位 特征 进阶 六 广度 贵妃 特征 晋升 七
  • 微信小程序开发——map地图组件,定位,并手动修改位置偏差。

    环境搭建 注册 获取APPID 没有这个不能真鸡调试 下载微信web开发者工具 挺多bug 将就用 打开微信web开发者工具 扫码登录 新建小程序 输入APPID 勾选创建quick start项目 工程结构 可以看到工程根目录中有个app
  • HTTP长连接、短连接使用及测试

    概念 HTTP短连接 非持久连接 是指 客户端和服务端进行一次HTTP请求 响应之后 就关闭连接 所以 下一次的HTTP请求 响应操作就需要重新建立连接 HTTP长连接 持久连接 是指 客户端和服务端建立一次连接之后 可以在这条连接上进行多
  • 一文秒懂什么是DDoS攻击

    关注 开源Linux 选择 设为星标 回复 学习 有我为您特别筛选的学习资料 DDoS攻击是目前最常见的网络攻击方式之一 其见效快 成本低的特点 让DDoS这种攻击方式深受不法分子的喜爱 DDoS攻击经过十几年的发展 已经 进化 的越来越复
  • Centos7安装lvs——即安装lvs的管理软件ipvsadm

    1 验证当前linux是具备lvs功能 root nginx master ipvsadm 出现上面的错误提示 就证明当前虚拟机不具备实现lvs的功能 2 安装ipvsadm 因为lvs的具体实现是由这个程序来实现的 2 1 检查内核版本
  • Windows应急响应

    账户排查 账户排查主要包含以下几个维度 登录服务器的途径 弱口令 可疑账号 新增账号 隐藏账号 克隆账号 服务器是否存在被远程登录的途径 3389 smb 445 http ftp 数据库 中间件 弱口令排查维度与上述服务器登录一样 弱口令
  • cgi环境变量

    原文地址 http blog sina com cn s blog 65403f9b0100gpt2 html REOUEST METHOD 这个环境变量指出服务器与CGI程序之间的信息传递方式 一般包括两种 POST和GET 这个环境变量