一、工作原理
1.浏览器通过HTML表单或超链接请求指上一个CGI应用程序的URL。
2.服务器收发到请求。
3.服务器执行指定所CGI应用程序。
4.CGI应用程序执行所需要的操作,通常是基于浏览者输入的内容。
5.CGI应用程序把结果格式化为网络服务器和浏览器能够理解的文档(通常是HTML网页)。
6.网络服务器把结果返回到浏览器中。
二、编程语言
CGI可以用任何一种语言编写,只要这种语言具有标准输入、输出和环境变量。对初学者来说,最好选用易于归档和能有效表示大量
数据结构
的语言,例如UNIX环境中: · Perl (Practical Extraction and Report Language) · Bourne Shell或者Tcl (Tool Command Language) · PHP(Hypertext Preprocessor)) 由于C语言有较强的平台无关性,所以也是编写CGI
程序
的首选。 Windows环境中: · C和C++ 由于Internet上大部分
服务器
使用的是UNIX
操作系统
,且几乎任一UNIX操作系统中都有Bourne Shell,因而后面讲述的例子中大部分是用Bourne Shell编写的。 最终Perl由于其跨
操作系统
、易于修改的特性成为了CGI的主流编写语言,以至于一般的“cgi
程序
”就是Perl程序。
三、CGI和Servlet的区别
servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁;
而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。