FastCGI、ModPerl、PHP、普通CGI、SSI对比

CGI

通常翻译为共同网关接口,是HTTP服务器与机器上的其他程序进行通信的一个接口。

CGI的出现让WEB从静态变为为动态,随着Web的越来越普及,很多的网站的都需要有动态的页面,以便与浏览者互交。CGI方式的缺点也越来越突出。因为HTTP要生成一个动态页面,系统就必须启动一个新的进程以运行CGI程序,不断地fork是一项很消耗时间和资源的工作。如果能够让HTTP服务器本身就支持一种语言,用这个语言来编写动态页面的话,这就至少不需要fork。因此就出现一种叫做动态网页设计语言的东西,如php,asp,jsp。这些不是真正的语言,他们都只是专门用于web的,脱离了web环境,他们就什么都干不了(php正在努力改变这种现状)。

SSI

SSI(服务端包含)是一种早期的较为简单及粗糙的动态方式,能够实现的功能很少,基本上现在很少使用,但如果只是简单的处理,这也未尝不是一个好的方法。他是Http服务器本身所支持的"语言"。

modperl

modperl简单点说就是类似php的方式,让apache http服务器本身能够支持perl语言,除了能够不需要每一个请求就启动perl解释器来解释perl之外,还能够让你可以用perl来写apache的模块,让你自己的程序成为http服务器本身的功能,以及用perl语言来设置httpd.conf等

fastcgi

fastcgi,那又是另外的一种方式,他让这个CGI程序,以类似系统的守护进程(NT服务)那样的运行,而不是每次请求都是启动一个新的进程,从理论上讲,这是目前最为有效的提高效率的方式。而且和CGI一样,不局限于用什么语言来写。

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×