什么是FAST CGI

---摘自《网易虚拟社区》(文/天水)
若干年来,通用网关接口(CGl)已成为服务器端应用程序开发的事实标准。随着时间的推移,发现在沉重的CGI负担下许多Web服务器系统的表现不尽人意。研究表明CGI规范存在瓶颈问题:每当客户系统请求CGI应用程序时,Web服务器就必须启动新的CGI进程,然后进程完成它的任务并结束。当负载低时,它会工作得很好。然而,在高负载时,进程设置和初始化所需要的时间就成为性能的瓶颈。
新的标准现在脱颖而出以弥补这种不足。尽管仍处在接受的早期阶段,但FastCGI是很有前途的开放标准。在本章中,将讨论标准的细节以及如何在Apache中实现FastCGI。
作为新选择的FastCGI 简单说,FastCGI应用程序就像服务器应用程序一样进行操作。不像CGI应用程序,它始终处于活动状态并为来自Web服务器的请求提供服务。这正是FastCGI的优点所在。不同于C0,在每次处理请求时,它没有启动新进程和做应用程序初始化(例如与数据库连接)方面的开销。可以使用各种不同的语言,包括Perl、C、C++、Java和Python,编写Web服务器应用程序。这是CGI的高性能的代用方案。
应该注意:FastCGI是有发展前途的开放标准,并且有可能在不久的将来作为Web标准被世人所接受。然而,一些主要服务器销售商并不接受FastCGI的慨念。他们有自己的标准,这些标准允许使用某些类似的功能和大量专用的服务器属性。它们可以归属于服务器应用程序编程接口(API)。例如,主要的服务器销售商(如Netscape和Microsoft)都有他们自己的服务器API:分别称为NSAPI和ISAPI。甚至Apache也有它自己的API。 如果对有关FastCGI的最新消息感兴趣,可以订阅邮递表fastcgi。
developers@openmarket.com。要注意的是,这种邮递表由FastCGI开发 人员使用,可能不适合询问初级的问题。要加入此邮递表,用包含单词 subscribe的消息体向fastcgi—developers—request@openmket.com发送一 则消息就行了。发送给这个由邮递表的邮件会被归档,而且可以在WWW 上的www.hstcgi.com/mail/使用它。