CGI 和 FastCGI
admin
2023-02-04 22:40:02
0

CGI(Common Gateway Interface,公共网关接口)是一种标准协议,这种协议可以为一个应用程序和一个 Web 浏览器之间进行交互提供通信支持。CGI 最早出现于 1993 年,所有版本的 IIS 都为 CGI 提供了支持。在 IIS 上运行 CGI 时,CGI 处理请求的方式存在一些问题。对于 CGI 应用程序处理的每个新请求,IIS 都必须创建一个新的进程,待进程执行结束后,再关闭该进程。IIS 可以迅速地处理请求,但是,启动和停止进程的开销可能会成为性能瓶颈,这就是在 IIS 上运行 CGI 时,CGI 处理请求方式存在的问题。因此,IIS 引入了 FastCGI。 FastCGI能够部分解决上述性能瓶颈问题。

FastCGI (C:\Windows\System32\inetsrv\iisfcgi.dll)是一种新版本的 CGI,能满足大多数原有的 CGI 规范。然而,FastCGI 并没有在请求处理完毕时关闭一个进程,而是令这个进程继续运行,并处理其他请求。与 CGI 类似,FastCGI 也是单线程的,但是与 CGI 相比,当使用 FastCGI 时,服务器可以处理更多的请求,这是因为,进程仍然处于打开的状态。在 IIS 7.0 中,FastCGI 是使用内置的 API 实现的,并且被实现为一个本机的模块。

为什么要使用 FastCGI 呢?这是因为目前仍然存在大量的 PHP 应用程序,这些应用程序得到了广泛的应用。尽管这些应用程序通常使用了 CGI 版本或 ISAPI 版本的 PHP,但是,FastCGI 能够进一步提高这些应用程序的运行性能。

因为 FastCGI 是一种单线程的应用程序,因此必须启动多个线程来处理多个请求。这些进程可以汇集到一个进程池,组成不同的进程组,这样便可以统一管理这些进程组。一个进程组的属性可以是托管的,举例来说,一个进程组中的进程数量,以及一个进程在回收之前可以处理的请求数量等,都属于进程组的属性,并且可以受托管。一个进程组中可以包含多个进程,FastCGI 也可以同时运行多个进程组,并且每个进程组都可以拥有自己的设置。

相关内容

热门资讯

菲尔兹奖得主邓煜:做真正喜欢的... 文 | 《中国科学报》 记者 赵广立初次和邓煜对话是轻松的,没有被数学天才“碾压”的感受。他会耐心听...
如何抢抓6G机遇?低空怎样飞得... 7月23日,记者从双流区获悉,2026天府科学家创新发展大会暨成都科产融合对接活动双流(电子信息)专...
腾讯云官宣大规模部署国产化算力... 在2026世界人工智能大会的分论坛现场,腾讯云高管首次公开明确宣布,将大规模部署国产化算力,目标直指...
2026“光影科学梦”影视资源... 中新网北京7月23日电 (记者 孙自法)中国科技馆7月23日向媒体通报说,利用沉浸式体验的虚拟现实(...
产教共生、港数融合,解码日照数... 数字浪潮奔涌向前,人工智能与数据要素已然成为山东数字强省建设的关键变量与战略支点。近年来,山东锚定国...
原创 v... 现在的手机行业可以用“一地鸡毛”来形容了,先是魅族宣布不做手机了,如今真我有宣布退出中国市场,而红米...
谷歌现在允许用户通过自拍视频登... IT之家 7 月 23 日消息,谷歌正在推出一种新的账号登录和恢复方式,当用户无法使用传统找回方式时...
中国数学,迎来了菲尔兹时刻 14亿中国人里,必定还有无数具有数学天赋的人,要想人尽其才,那就得需要社会为他们提供一个更公平、也更...
谷歌Pixel 11/Pro/... 7 月 23 日消息,科技媒体 mymobiles 昨日(7 月 22 日)发布博文,在谷歌 8 月...
胡锡进:梁文锋倾吐衷肠,甩出美... 梁文锋近日的一个内部谈话流传到网上,引起网友的广泛追捧。它展现了中国新一代年轻科技精英的追梦情怀,对...