FastCGI 中文参考手册
(Perl 语言相关部分)
作者:hoowa.sun
想必所有人都了解 CGI 技术的通用性与效率有多糟糕。那么本文所描述的所有内容仅限于一种可以
大幅度提高页面处理技术的东东,它的名字叫 FastCGI,他的速度效率最少要比 CGI 技术提高 5 倍以上
(要知道目前各种流行的页面处理技术 ASP、PHP、JSP/Servlet 还没有哪个能超过)。这并不是一种新技术,
笔者在 2000 年第一次用过此技术。大家一定惊讶,既然有这种技术为什么我们还要编写这本参考手册,
原因显而易见,虽然此技术已经产生自今,但中文资料还是少的可怜。好!废话到此为之止。
FastCGI 的技术原理
如果想了解 FastCGI 的技术原理就要了解何为"短生存期应用程序",何为"长生存期应用程序"。
先从 CGI 技术开刀,以下是 CGI 技术的理论:每次当客户请求一个 CGI 的时候,Web 服务器就请求
操作系统生成一个新的 CGI 进程。当 CGI 满足要求后,服务器就杀死这个进程。服务器对客户端的
每个请求都要重复这样的过程。
而 FastCGI 技术的理论为:FastCGI 程序一旦产生后,他可以持续工作,足够满足客户的请求直到被
明确的终止。如果你希望通过协同处理来提高程序的性能,你可以请求 Web 服务器运行多个
FastCGI 应用程序的副本。
CGI 就是所谓的短生存期应用程序,FastCGI 就是所谓的长生存期应用程序。
由于 FastCGI 程序并不需要不断的产生新进程,可以大大降低服务器的压力。并且产生较高的应用效率。
自今,较为流行的 Java 语言 Servlet 技术在设计上是以参考 FastCGI 的技术运行所设计。
FastCGI 的特点
1.打破传统页面处理技术
传统的页面处理技术,程序必须与 Web 服务器或 Application 服务器处于同一台服务器中。这种历史
已经早 N 年被 FastCGI 技术所打破,FastCGI 技术的应用程序可以被安装在服务器群中的任何一台服务
器,而通过 TCP/IP 协议与 Web 服务器通讯,这样做既适合开发大型分布式 Web 群,也适合高效数据库
控制。
2.明确的请求模式
CGI 技术没有一个明确的角色,在 FastCGI 程序中,程序被赋予明确的角色(响应器角色、认证器
角色、过滤器角色)。
评论3
最新资源