通用网关接口(Common Gateway Interface,CGI)
目录 |
通用网关接口是一种重要的互联网技术,可以让一个客户端,从网页浏览器向执行在網絡服务器上的程序,请求数据。CGI 描述了客户端和服务器程序之间传输数据的一种标准。
CGI的优点是:跨平台性能好,几乎可以在任何操作系统(如DOS、Windows、UNIX、OS/2等)上实现。缺点是执行速度慢,Web服务器每启动一个数据查询服务,就必须启动一个新的CGI进程,服务器资源代价比较高。
CGI程序一般是可执行程序。编译好的CGI程序一般要集中放在一个目录下。具体存放的位置随操作系统的不同而不同,例如UNIX系统下是放在cgi-bin子目录下。CGI程序的执行一般有两种调用方式:一种是通过URL直接调用,如http://www.my.com/cgi-bin/cgi.exe,在浏览器的地址里直接写入上述描述就可以调用该程序;另一种方式是通过交互式主页里的Form栏调用,通常是用户在填完一张表后单击“确认”按钮启动CGI程序。
CGI工作流程如下:首先,浏览器通过Web页面的表单获取参数,这些参数通过HTTP或TCP/IP传递给Web服务器。然后,在服务器上通过CGI脚本分析参数,同时启动通路程序,把分析后的参数转化为SQL命令,传递给数据库服务器执行查询。之后,CGI程序将处理后的结果返回给Web服务器。最后,向客户机即用户返回HTML或纯文本格式的结果并断开连接。