您好,欢迎来电子发烧友网! ,新用户?[免费注册]

您的位置:电子发烧友网>电子百科>通信技术>传输网/接入网/交换网>

什么是公共网关接口

2010年04月03日 15:04 www.elecfans.com 作者:佚名 用户评论(0

什么是公共网关接口

CGI是信息服务器主机对外信息服务的标准接口,为了向客户端提供动态信息而制定。通过专门编写的CGI脚本程序(在CGI控制下运行的程序,通常称CGI程序),不仅可以生成静态的内容,而且可以生成完全无法预见的动态的内容。它能根据用户的需求输出动态信息,将数据库服务器中的信息作为数据源对外提供服务,将WWW服务和数据库服务结合起来。比如雅虎、搜狐等搜索引擎提供的强大搜索功能便是利用CGI实现的。

CGI是服务器的扩展,以扩充Web服务器能力。编写的服务器扩展使得Web站点更生动有趣。它不是传送一个乏味的静态页,CGI(和其他服务器扩展)让Web客户机从Web服务器请求信息。用户填写一个提交给服务器的表格,服务器使用提交的信息查询数据库或输入到一个程序,然后结果用于创建定制的Web页并将它发送给客户机。注意:在服务器和客户机间没有“往返”信息,用户必须填写表格并提交它,必须检测空白字段或含有错误信息的字段,并要求客户机必须重新提交表格。

CGI是非会话式的。它不能在处理来自Web浏览器的数据过程中停止并返回Web浏览器请求更正数据,CGI只允许数据输入。CGI处理数据,生成输出,然后终止。如果网关需要数据被更正,它只能运行结束,并当Web服务器重新提交数据时再开始。 CGI接口是在Web客户机和Web服务器间提供双向接口的协议,CGI脚本是决定它们通信时发生什么的一套命令。发明CGI是为扩展HTTP协议。它由以下部分组成:

•置于HTML文档中的CGI控制标记和字段说明符

•在服务器存放脚本用信息的内存中的环境变量

•客户机、服务器和脚本间的信息流

Web站点开发者使用CGI的步骤是,首先创建HTML表单并添加标签以定义出现在表单上的输入框、下拉列表框和按钮,以便收集来自用户的输入。其次,编写CGI脚本以接受端用户在HTML表单上键入的信息,并用它做点什么,比如查询后端数据库。Perl是建立脚本和报表的工具,很多程序员用它创建CGI脚本。

CGI脚本程序可以用C、C++等语言在多种平台上进行开发。无需太大修改就可以从一个平台移植到另一个平台上运行,具有很好的兼容性。

CGI应用程序可以是基于不同的程序系统,如DOS、UNIX、Windows、Windows NT等。CGI应用程序可以使用UNIX Shell描述语言或Perl语言写成。

CGI是极慢的,所以0pen Market创建了一个称为FastCGI的协议来解决这一问题。FastCGI不需要服务器创建地址空间,而是每当它需要运行CGI时,通过维护一个总是可用的CGI进程池来实现。

非常好我支持^.^

(1) 100%

不好我反对

(0) 0%

( 发表人:admin )

      发表评论

      用户评论
      评价:好评中评差评

      发表评论,获取积分! 请遵守相关规定!