1

这个问题很基础;但我很困惑,所以如果你被激怒了,我很抱歉。我只知道 CGI 是一种标准/协议。

1> mod_(perl/python/ruby) 是 CGI 的实现还是替代方案?
2> 如果它是一种替代方案,那么从概念上讲,它是否类似于 Java Servlet?

4

2 回答 2

2

mod_(perl/python/ruby) 是 CGI 的替代方案 - mod_[somebinding]apache 模块试图通过使用 Apache 的本机接口来避免 CGI 的性能损失。

mod_[somebinding]/Apache和之间的类比Servlets/Java Application Server是有效的,但我更喜欢类似的东西

Webserver -> mod_[somebinding] -> Library in somebinding

Webserver -> Java Application Server -> Servler
于 2012-06-12T11:12:24.847 回答
1

不,CGI 是一个接口标准,而 mod_* 是 Apache Http Server 的模块。例如,您可以在任何 Web 服务器下使用任何语言的 CGI(FastCGI 或 SCGI)。Ruby 世界中的替代方案是应用程序服务器,如 Unicorn,GitHub 的人使用它。

于 2012-06-12T11:12:13.917 回答