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 也可以同时运行多个进程组,并且每个进程组都可以拥有自己的设置。

相关内容

热门资讯

德国总理:美国正在被伊朗羞辱 德国之声4月27日报道,德国总理默茨在访问一所学校时表示,在当前的持续冲突中,伊朗领导层正试图羞辱美...
理响中国|“长”歌以行,风云激... 光阴如梭,东方潮阔。这里是中国的长三角,世界的长三角。无论过去、现在还是未来,这片土地都因时代而生,...
白宫:特朗普及其国安团队开会讨... 新华社华盛顿4月27日电 美国白宫新闻秘书莱维特27日在记者会上证实,总统特朗普及其国家安全团队当天...
人民日报刊文:日本放开杀伤性武... 日本放开杀伤性武器出口推高地缘冲突风险(国际论坛)常思纯《人民日报》(2026年04月28日 第 0...
医疗保障法草案二审:明确生育保... 满足多样化健康保障需求本报记者 彭 波4月27日,医疗保障法草案二审稿提请十四届全国人大常委会第二十...
天津一景区发生自转旋翼机事故1... 澎湃新闻记者 吕新文中国民用航空华北地区管理局4月22日公布《豪客通航“10•1”天津长芦汉盐旅游区...
卡塔尔埃米尔与美国总统特朗普通... 当地时间24日,卡塔尔埃米尔塔米姆与美国总统特朗普通电话,重点就中东地区局势以及伊朗与美国谈判问题交...
男子30年前被扣押2859克黄... 澎湃新闻记者 王鑫家住辽宁省大连市的潘永嘉近日向澎湃新闻反映称,三十年前,他在大连周水子机场被盖州市...
商务部:取消反制欧盟两家金融机... 中华人民共和国商务部令二〇二六年 第1号鉴于欧盟已取消对中国两家金融机构的制裁措施,现公布《关于取消...
过去24小时共有5艘船只通过霍... 总台记者当地时间24日获悉,过去24小时内,共有5艘船只通过霍尔木兹海峡,其中包括一艘伊朗油轮。(总...