总结下CGI常用的环境变量

2023-10-31

每当服务器加载脚本的一个实例时下述环境变量被设置,并且是私有和特定于该实例的:
  • 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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

总结下CGI常用的环境变量 的相关文章

  • 在阿里云ECS云服务器上部署和使用开源的应用程序容器引擎Docker

    Docker 是一个开源的应用程序容器引擎 具有可移植性 可扩展性 高安全性和可管理性等优势 它允许开发人员将应用程序和依赖项打包到可移植容器中 从而在 Linux 机器上高效构建 部署和管理应用程序 阿里云提供Docker镜像仓库 用于快
  • Linux中如何查看开启了哪些端口?

    在Linux中 端口是设备与外界通讯交流的出口 常用于指TCP IP协议中的端口 其按照端口号可以分为三类 分别是 公认端口 注册端口 动态端口 那么Linux中如何查看开启了哪些端口 以下是常用命令介绍 1 使用netstat命令 net
  • 如何在Python中读取cookie

    我是 python cgi 脚本的新手 我想用Python读取cookie 我尝试了以下代码 from urllib2 import Request build opener HTTPCookieProcessor HTTPHandler
  • 这里是 Python 菜鸟:在支持 Python 的 Web 服务器上,如何使用 Python?

    usr bin env python coding UTF 8 enable debugging import cgitb cgitb enable print Content Type text plain charset utf 8 p
  • 在 Perl 中,如何在命令行上发送 CGI 参数?

    通常我从网页获取数据 但我想从命令行发送它以方便调试 为了获取数据我做了类似的事情 my query new CGI my username query gt param the username 这似乎不起作用 script pl the
  • 如何在 Perl CGI 脚本中生成长时间运行的进程?

    我现在正在编写一个 Perl CGI 脚本 但它正在成为资源消耗者 并且它不断被我的 Web 主机杀死 因为我不断达到进程内存限制 我想知道是否有一种方法可以将我的脚本拆分为多个脚本 然后让第一个脚本调用下一个脚本 然后退出 这样整个脚本就
  • ESP10B 锁定连接器

    ESP10B 锁定连接器 ESP10B 电机新增内容包括双极型号标准 NEMA 尺寸 17 23 和 34 的步进电机现在包括输出扭矩范围从 61 盎司英寸到 1291 盎司英寸的双极型号 该电机配有带锁定连接器的尾缆 可轻松连接 每转可步
  • 光波导结构

    摘要 增强现实和混合现实 AR MR 领域的新应用引起了人们对带有光栅区域的光波导系统的越来越多的关注 这些光波导系统用于输入和输出耦合以及扩瞳目的 VirtualLab Fusion为这类系统的仿真和设计提供了几个强大的工具 其中一个是具
  • $_SERVER['REMOTE_USER'] 可以被欺骗吗?

    我遇到一种情况 我正在打开基于 SERVER REMOTE USER 变量的文件 我不认为这是可以欺骗的 但只是想确认一下 我不想让自己容易受到任意文件读取的影响 是的 该用户名是远程用户指定的用户名 您还需要验证密码 如果密码是由您的服务
  • 如何以不依赖扩展的方式禁用 htaccess 中的 cgi?

    我想在文档根目录下的目录中禁用任何类型的 CGI 执行 任何类型 php perl ruby 等等 我想以一种不依赖于文件扩展名的方式来执行此操作 在我的文档根目录下 因为用户必须能够放置和查看 HTML 文件 它必须位于 htaccess
  • Java CGI 与 Servlet [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Apache + PHP 中的“标题之前的脚本输出结束”

    UPDATE 此问题是由于脚本完成之前服务器请求超时造成的 我在共享 LAMP 主机 nearlyfreespeech net 上运行遗留代码 并且最近添加了一个无法在生产中工作的新脚本 我的 apache 错误日志显示该消息End of
  • 现在 CGI 脚本有哪些用途?

    我非常熟悉一般的 Web 编程语言 但我现在使用的工具之一是 CGI 我只能说 CGI 脚本相当慢 CGI 如今仍然普遍使用吗 如果不是的话 被什么取代了 是否存在 CGI 仍然存在并被积极使用的利基功能 CGI是协议 它是创建动态页面最基
  • 当表单 POST 到我的脚本时,如何访问 URL 中传递的参数?

    我遇到了一个问题模组重写 http httpd apache org docs 2 2 mod mod rewrite html当向我们的网站提交表单时 perl 脚本 如果有人在具有如下 url 的页面上执行 GET 请求http www
  • 如何使用 Perl 将客户端从一个 CGI 页面重定向到另一页面?

    我的问题如下 密码被识别为有效后 我需要重定向到main cgi但我收到的消息是 Status 302 Found Location http localhost cgi bin Main cgi 我知道这样做的原因是我在之后写下这份声明C
  • 环境变量不会从 .htaccess 传递到 PHP

    我正在尝试将环境变量从 htaccess 传递到 PHP 这在我的本地 WAMP 服务器上工作得很好 但在托管我的网站的服务器上 它无缘无故地失败了 这是我的测试配置 htaccess SetEnv TEST VARIABLE test v
  • 使用Python的CGI表单提交按钮

    我正在尝试创建一个cgi 表单 允许用户输入一个单词 然后它将获取该单词并将其发送到下一页 另一个cgi 我知道如何使用 html 文件来做到这一点 但是当涉及到使用 python cgi 时 我迷失了 这是我需要做的 但它是 html 格
  • cgi(通用网关接口)死了吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 好吧 让我们更温和地说 cgi 通用网关接口 是遗留的吗 yes no 今天开始的项目 不需要与遗留系统或库交互的项目 在什么情况下会使用 cg
  • 如何从一个 CGI 重定向到另一个 CGI

    我正在发送数据A cgi to B cgi B cgi更新数据库中的数据并应该重定向回A cgi 此时A cgi应该显示更新的数据 我添加了以下代码B cgi在数据库更新后立即进行重定向 url http Travel cgi bin A
  • 为 Mercurial 执行 hgweb.cgi 时,指定的 CGI 应用程序行为不当...

    我有 IIS 6 我将 Mercurial 安装在 c program files mercurial 中 我在 c program files python 中安装了 Python 2 6 I added extension handli

随机推荐

  • 如何才能成为一个成熟的投资者?

    股市从来不缺少一年十倍 百倍的故事 但是真的能够长年稳定盈利的人 其实少之又少 所以很多人都称之为赌场 在赌场暴富是有可能的 但是能够笑着离开的人确少之又少 笔者自己也经历过很多大起大落 如今慢慢觉得摸到了一些门道 在这里和大家一起探讨 如
  • AS 添加AAR 文件 Gradle 7.0+ 设置aar路径失败问题

    https blog csdn net a940659387 article details 120514674
  • 数据结构小白之二叉树的遍历和查找

    1 存储方式的分析 1 1 数组储存方式的分析 优点 通过下标的访问 速度快 还可以使用二分法提高检索的速度 缺点 如果要检索某个值 或者插入值 整个数组就会进行移动 从而造成较低的效率 同时如果需要扩容的话 从底层而言 每一次数组的扩容就
  • 区块链技术将如何改变制造业?对制造业的价值何在?

    作为虚拟货币的底层技术 区块链正风生水起 目前区块链技术的应用场景在不断拓展 成为全球创新企业关注的热点 目前区块链的主要应用还是集中于金融支付领域 比如跨境支付 股票交易 身份确认等 作为一种分布式记帐技术 区块链正在改变金融业 而且它也
  • 11月26日 创建敌人血量UMG,游戏分数和游戏时间UMG,人物开始位置与不同的游戏模式,控制台功能治愈 ,杀死AI

    C 创建敌人血量UMG 新建一个USERUMG的Class类 h Fill out your copyright notice in the Description page of Project Settings pragma once
  • 普元SOA相关概念

    SOA 面向服务的体系结构 Service oriented architecture 是构造分布式计算的应用程序的方法 它将应用程序功能作为服务发送给最终用户或者其他服务 BPS 普元业务流程平台套件Primeton BPS Busine
  • 初学gitlab设置访问权限

    写本文的目的是 能够实现开发代码共享 1 打开一个项目your project 主界面如下图所示 2 将gitlab项目私有设置为内部 在左侧工具栏中找到Setting 并点进去 将Project visibility设置为Internal
  • 快捷键常识及JDK配置

    进制之间的转换 十进制 0 1 2 3 4 5 6 7 8 9 二进制 0 1 八进制 0 1 2 3 4 5 6 7 十六进制 0123456789ABCDEF 其他进制转十进制 数字 进制 当前位数 1 数字 进制0 二进制 转换 十进
  • 基于STM32单片机电子称重系统设计_最终稿

    摘 要 称重技术自古以来便被人们所重视 与我们生活的各个方面息息相关 电子称重技术能够在科学研究 工业生产制造及其他生产和日常生活中得到广泛应用 随着科学技术时代的来临 智能化的仪器已经取代了传统的仪表和控制设备 让我们的传统仪器也有了翻天
  • springboot读取模版文件

    前言 resources下的template目录下的模版文件 第一种 第二种 第三种 templateDir template 第一种 Resource resource new ClassPathResource templateDir
  • ubuntu安装docker

    如果之前有的朋友安装了Docker 不成功的 可以先卸载旧的版本 sudo apt get remove docker docker engine docker io containerd runc 没安装的朋友 可以不用执行 一 安装前的
  • 第十三届蓝桥杯青少组省赛Python真题,包含答案

    目录 一 选择题 二 编程题 第十三届蓝桥杯青少组省赛Python真题 包含答案 一 选择题 第 1 题 单选题 下列关于函数的说法正确的是 答案 C 第 2 题 单选题 十进制数55转换成十六进制是 答案 C 第 3题 单选题 下列方法中
  • Netty应用UDP协议

    UDP是用户数据报协议 User Datagram protocol 的简称 其主要作用是将网络数据封装成数据报形式 提供面向服务的简单信息传送服务 与TCP协议不同 UDP协议直接利用IP协议进行UDP数据报的传输 UDP提供的是面向无连
  • 记一次非常非常坑的springboot整合mybatisplus报错

    11 11 41 493 main DEBUG org springframework boot test context SpringBootTestContextBootstrapper Neither ContextConfigura
  • 基础技术篇 9 ——物联网常见通信协议与通讯协议梳理【上】- 通讯协议

    1 通信 与 通讯 傻傻分得清 传统意义上的 通讯 主要指电话 电报 电传 通讯的 讯 指消息 Message 媒体讯息通过通讯网络从一端传递到另外一端 媒体讯息的内容主要是话音 文字 图片和视频图像 其网络的构成主要由电子设备系统和无线电
  • 校园网Drcom自动登录脚本(OpenWRT适用)

    本文原文已发表至本人博客 哔哔哔哔 校园网Drcom自动登录脚本 OpenWRT适用 前言 优雅地登录校园网认证Dr com D版 Step1 连接校园网 打开Chrome并进入校园网认证界面 F12进入开发者模式 勾选Network 再勾
  • 基于EasyExcel的Excel读取

    1 引入依赖
  • synchronize和Lock锁的区别

    为什么java已经通过synchronized关键字实现同步访问了 还需要提供Lock synchronized的缺陷 前面博客有提到过释放对象的锁有两种情况 程序执行完同步代码块会释放代码块 程序在执行同步代码块是出现异常 JVM会自动释
  • Swift复写UIViewController的init方法

    在OC中我们直接复写 init 方法 instancetype initWithLeftViewController UIViewController leftViewController contentViewController UIV
  • 总结下CGI常用的环境变量

    每当服务器加载脚本的一个实例时下述环境变量被设置 并且是私有和特定于该实例的 AUTH TYPE如果服务器支持基本的认证并且如果脚本被保护 此变量提供认证类型 此信息是特定于协议和服务器的 AUTH TYPE的一个例子是BASIC CONT