- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《CGI编程完全手册(个人学习笔记)》.doc
CGI
一.基本原理
CGI:通用网关接口(Common Gateway Interface)是一个Web服务器主机提供信息服务的标准接口。通过CGI接口,Web服务器就能够获取客户端提交的信息,转交给服务器端的CGI程序进行处理,最后返回结果给客户端。
组成CGI通信系统的是两部分:一部分是html页面,就是在用户端浏览器上显示的页面。另一部分则是运行在服务器上的Cgi程序。
它们之间的通讯方式如下图:
服务器和客户端之间的通信,是客户端的浏览器和服务器端的http服务器之间的HTTP通信,我们只需要知道浏览器请求执行服务器上哪个CGI程序就可以了,其他不必深究细节,因为这些过程不需要程序员去操作。
服务器和CGI程序之间的通讯才是我们关注的。一般情况下,服务器和CGI程序之间是通过标准输入输出来进行数据传递的,而这个过程需要环境变量的协作方可实现。
服务器将URL指向一个应用程序
服务器为应用程序执行做准备
应用程序执行,读取标准输入和有关环境变量
应用程序进行标准输出
对于Windows系统而言,还可以通过profile文件进行数据传输(如ini文件),但在
这里不做研究。
环境变量在CGI中有着重要的地位!每个CGI程序只能处理一个用户请求,所以在激
活一个CGI程序进程时也创建了属于该进程的环境变量。
二.环境变量
对于CGI程序来说,它继承了系统的环境变量。CGI环境变量在CGI程序启动时初始化,在结束时销毁。
当一个CGI程序不是被HTTP服务器调用时,它的环境变量几乎是系统环境变量的复制。
当这个CGI程序被HTTP服务器调用时,它的环境变量就会多了以下关于HTTP服务器、客户端、CGI传输过程等项目。
与请求相关的环境变量 REQUEST_METHOD 服务器与CGI程序之间的信息传输方式 QUERY_STRING 采用GET时所传输的信息 CONTENT_LENGTH STDIO中的有效信息长度 CONTENT_TYPE 指示所传来的信息的MIME类型 CONTENT_FILE 使用Windows HTTPd/WinCGI标准时,用来传送数据的文件名 PATH_INFO 路径信息 PATH_TRANSLATED CGI程序的完整路径名 SCRIPT_NAME 所调用的CGI程序的名字 与服务器相关的环境变量 GATEWAY_INTERFACE 服务器的CGI版本SERVER_NAME 服务器的IP或名字SERVER_PORT 主机的端口号SERVER_SOFTWARE 调用CGI程序的HTTP服务器的名称和版本号 与客户端相关的环境变量 REMOTE_ADDR 客户机的主机名 REMOTE_HOST 客户机的IP地址 ACCEPT 例出能被次请求接受的应答方式ACCEPT_ENCODING 列出客户机支持的编码方式ACCEPT_LANGUAGE 表明客户机可接受语言的ISO代码AUTORIZATION 表明被证实了的用户FORM 列出客户机的EMAIL地址IF_MODIFIED_SINGCE 当用get方式请求并且只有当文档比指定日期更早时才返回数据PRAGMA 设定将来要用到的服务器代理REFFERER 指出连接到当前文档的文档的URLUSER_AGENT 客户端浏览器的信息 CONTENT_TYPE:如application/x-www-form-urlencoded,表示数据来自HTML表单,并且经过了URL编码。
ACCEPT:客户机所支持的MIME类型清单,内容如:”image/gif,image/jpeg”
REQUEST_METHOD:它的值一般包括两种:POST和GET,但我们写CGI程序时,最后还要考虑其他的情况。
1.POST方法
如果采用POST方法,那么客户端来的用户数据将存放在CGI进程的标准输入中,同时将用户数据的长度赋予环境变量中的CONTENT_LENGTH。客户端用POST方式发送数据有一个相应的MIME类型(通用Internet邮件扩充服务:Multi-purpose Internet Mail Extensions)。目前,MIME类型一般是:application/x-wwww-form-urlencoded,该类型表示数据来自HTML表单。该类型记录在环境变量CONTENT_TYPE中,CGI程序应该检查该变量的值。
2.GET方法
在该方法下,CGI程序无法直接从服务器的标准输入中获取数据,因为服务器把它从标
准输入接收到得数据编码到环境变量QUERY_STRING(或PATH_INFO)。
GET与POST的区别:采用GET方法提交HTML表单数据的
您可能关注的文档
- 《35KV变电站一次设计》.doc
- 《35kV变电站现场运行操作规程》.doc
- 《35—220千伏变电站通用运行规程(试行)》.pdf
- 《37kw变频螺杆式空压机》.pdf
- 《3V电池供电便携小音箱》.doc
- 《3布袋除尘器锅炉除尘应用前景》.doc
- 《4-UNIX&Linux操作系统编程-线程同步和进程间通信》.ppt
- 《4.1编码器》.pdf
- 《4.2MSI器件-编码器和译码器》.ppt
- 《425711--GBT1.1-2016标准化工作导则第1部分标准的结构和编写》.pdf
- 2024年05月山东交通职业学院招考聘用博士研究生50人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月安徽芜湖市弋江区老年学校(大学)工作人员特设岗位公开招聘2人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东东营河口区教育类事业单位招考聘用22人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东交通职业学院招考聘用100人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东威海职业学院招考聘用高层次人才2人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月安徽石台县事业单位工作人员33人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东滨州市博兴县事业单位公开招聘考察笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月安徽蚌埠固镇县湖沟镇选聘村级后备干部7人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东省安丘市教育和体育局所属事业单位学校公开2024年招考232名工作人员笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东临沂临港经济开发区工作人员(5人)笔试历年典型题及考点剖析附带答案含详解.docx
最近下载
- 草原就是我的家教学设计.docx VIP
- 安徽省黄山市重点名校2023-2024学年中考生物最后冲刺模拟试卷含解析.doc VIP
- 部编一年级下册语文字帖【打印可用】.pdf
- 初二地理生物中考动员主题班会.pptx VIP
- 常州大学2020-2021学年第1学期《西方经济学》期末考试试卷(A卷)含参考答案.docx
- 安徽省临泉重点名校2023-2024学年中考生物对点突破模拟试卷含解析.doc VIP
- 内轴型膝关节设计理念及特点.pdf
- 新人教PEP版小学英语六年级下册期末全册单元复习课件(含专题).ppt
- 2024年党纪学习教育党课.pptx VIP
- 2023安徽省中考生物模拟试卷第一卷(含解析).pdf VIP
文档评论(0)