理解什么是CGI

简介:

CGI(Common Gateway Interface)公共网关接口,是外部扩展应用程序与 Web 服务器交互的一个标准接口协议。服务器端与客户端进行交互的常见方式多,CGI 技术就是其中之一。根据CGI标准,编写外部扩展应用程序,可以对客户端浏览器输入的数据进行处理,完成客户端与服务器的交互操作。CGI规范定义了Web服务器如何向扩展应用程序发送消息,在收到扩展应用程序的信息后又如何进行处理等内容。对于许多静态的HTML网页无法实现的功能,通过 CGI可以实现,比如表单的处理、对数据库的访问、搜索引擎基于Web的数据库访问等等。

特点:
  • 公共(Common):无须考虑客户端和服务器所运行的操作系统平台,只要二者的网关程序遵循同一数据传输协议,即可进行数据交互。
  • 网关(Gateway):CGI程序可被用来作为 HTTP 服务器与其他第三方应用程序之间的“连接件”或“中间件(Middle Ware) "。
  • 接口(Interface):CGI 程序使用标准通讯机制,为其它应用程序与 HTTP 服务器提供数据传输接口。
接收数据方式:

服务器端 CGI 程序接收信息有三种途径:环境变量、命令行和标准输入

环境变量列表
变量名含义
SERVER_NAME运行CGI序为机器名或IP地址
SERVER_INTERFACEWWW服务器的类型,如:CERN型或NCSA型。
SERVER_PROTOCOL通信协议,例如是HTTP/1.0。
SERVER_PORTTCP端口,一般说来web端口是80。
HTTP_ACCEPTHTTP定义的浏览器能够接受的数据类型。
HTTP_REFERER发送表单的文件URL。(并非所有的浏览器都传送这一变量)
HTTP_USER-AGENT发送表单的浏览的有关信息。
GETWAY_INTERFACECGI程序的版本,在UNIX下为 CGI/1.1。
PATH_TRANSLATEDPATH_INFO中包含的实际路径名。
PATH_INFO浏览器用GET方式发送数据时的附加路径。
SCRIPT_NAMECGI程序的路径名。
QUERY_STRING表单输入的数据,URL中问号后的内容。
REMOTE_HOST发送程序的主机名,不能确定该值。
REMOTE_ADDR发送程序的机器的IP地址。
REMOTE_USER发送程序的人名。
CONTENT_TYPEPOST发送,一般为application/xwww-form-urlencoded。
CONTENT_LENGTHPOST方法输入的数据的字节数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值