较早的动态网页技术主要采用CGI,由于CGI技术难度较大、效率不高,后来又相继出现了如ASP、PHP,JSP等许多新的动态网页技术。为了对这些技术的发展过程能够有所了解,并便于进行对比。
l.CGI的可移植性和可实现的功能CGI(CommonGatewayInterface,公用网关接口)技术是为HTML语言提供的一种扩展手段,允许用户编写扩展应用程序来扩展服务器的功能,实现客户端与服务器的交互操作。CG1程序可以在多种平台上实现一定的功能,并且无需做太大的更改,就可以轻松地完成平台之间的移植。任何支持CGI的服务器与其他专用服务器的扩展功能相比,主要的一个特点就是CGI程序的服务器可以用任何语言编写,在任何平台上开发,只要它满足CGI规范就可以。
由于CGI程序的大部分处理对象是字符串,所以编写CGI程序的语言最好采用Perl、C/C++语言,其他语言在编写CGI程序时都存在不足之处,主要是因为它们缺乏可以灵活应用的字符串处理函数。
HTML加上CGI可以实现以下www服务,这些功能是HTML本身无法实现的:
(1)处理客户端提交的表单数据;
(2)创建Web页面上大多数非静态的内容;
(3)在Web页面和文档中增加搜索功能;
(4)创建交互应用,如聊天室、投票站、计数器等;
(5)允许页面动态生成、生成用户定制的页面等。
2.CGI的基本原理CGI是一种通用的接口标准。CG1程序就是符合这种通用接口标准的、运行在Web服务器上的程序、它的工作就是控制浏览器的信息要求,产生并传回浏览器所需的文件。
CGI是外部扩展应用程序与www服务器交互的一个标准接口。按照CGI标准编写的外部 。
扩展应用程序可以处理客户端(www浏览器)输入的需要协同工作的数据,从而完成客户端与服务器的交互操作。例如,可以编写CGI外部扩展程序来访问外部数据库,客户端用户可以通过CGI外部扩展程序和WWW服务器进行数据查询并得到查询结果。
下面通过对浏览器提交表单数据的处理来了解以下CG1的基本原理。
(1)当客户端的用户填写好表单后,单击“提交”按钮向服务器发出HTTP请求(称为CGI请求)、实际上这里的请求将发往