2

当我学习 CGI 时,我了解到任何编程语言都可以用来将它的输出挂钩到 http 响应消息,它的输入是 http 请求消息。很多文章我都在 Perl 的上下文中讨论了 CGI,这是因为 Perl 是与 CGI 结合使用的最常用的语言吗?

我想知道的是,如果 CGI 连接到用 C/C++ 编写的程序,它仍然会比使用 PHP 慢吗?

4

1 回答 1

5

CGI 是表示应用程序应如何交互的标准,而不是特定程序本身。
CGI 通常太慢的原因是因为它需要为请求启动一个进程并在该请求结束时关闭。

FastCGI 与 CGI 的不同之处在于它允许一个进程服务多个请求(它维护一个请求处理器池)。这样可以避免大多数传入请求的冗长进程启动/关闭。

有关 CGI 及其“继承者”的更多信息,请查看http://en.wikipedia.org/wiki/Common_Gateway_Interface#Drawbacks

考虑到这一点,性能特征不仅取决于语言及其实现,还取决于用于处理请求的接口。

对于许多简单的请求,进程启动时间可能会远远超过处理时间,这使得语言 X 与 Y 的论点没有实际意义。

于 2012-06-12T22:57:48.817 回答