5.1.1 公共网关接口

5.1.1 公共网关接口

早期创建动态页面的主要方法是公共网关接口(CGI)。它是一个标准化的接口,允许Web与服务器端程序进行通信并访问数据库。只要按照CGI的规范编写的程序即是CGI程序,它可以在服务器上运行。CGI程序可以用几乎所有的程序设计语言编写,如C/C++、Delphi、Perl、Visual Basic、Java等。目前仍然有很多网络信息系统如搜索引擎、留言板、电子公告板(BBS)等都是CGI程序。

CGI程序使网页具有交互功能,主要包括解释处理来自表单的输入信息、在服务器产生相应的处理并将响应反馈给浏览器。因此它提供了很多HTML无法实现的功能、补充了HTML的不足,开启了动态Web应用的时代。

然而使用CGI开发动态页面存在如下问题:CGI应用开发较困难,而且由于每次页面被请求的时候,服务器都会重新将CGI程序编译成可执行的代码,导致效率低下;移植性较差;CGI应用基于进程模型,导致内存、CPU的开销比较大。