这个问题非常基础;但我很困惑,所以如果你感到烦恼,我很抱歉。我只知道CGI是标准/协议。
1> mod_(perl / python / ruby)是CGI的实现还是替代? 2 - ;如果它是一种替代方案,那么从概念上讲,它是否类似于Java Servlets?
答案 0 :(得分: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
答案 1 :(得分:1)
不,CGI是一个接口标准,mod_ *是Apache Http Server的模块。 例如,您可以在任何Web服务器下使用任何语言的CGI(FastCGI或SCGI)。 Ruby世界中的替代品是像Unicorn这样的应用程序服务器,GitHub的人使用它。