这是了解Web应用程序中的请求 - 响应机制。客户端向Web应用程序发送请求(GET / POST)。 Web应用程序运行的应用程序服务器充当应用程序特定程序的容器。当app服务器启动FastCGI / CGI进程时,我不明白该部分。 CGI有什么意义?服务器是否设计用于处理完整的请求处理机制?请求处理的哪一部分依赖于CGI?
答案 0 :(得分:1)
我问了一个类似的问题(尽管它更接近于实现概念)这里的问题: HTTP request dispatch from Web Server to a CGI/FastCGI process
然而,这是我在途中学到的东西: CGI是一组“标准”,用于定义HTTP / Web服务器应如何与外部程序通信。注意标准这个词!虽然不是一个彻头彻尾的协议(如HTTP,TCP等),但它非常接近,因为大多数生成HTML(Ruby,PHP,Python等)的外部程序都遵守了这组标准。
您可以在此处阅读有关CGI的更多信息: http://hoohoo.ncsa.illinois.edu/cgi/intro.html
FastCGI是对CGI进程处理方式的改进 - 以超级简单的方式将FastCGI进程保持在内存中加载更长时间,以便在加载到内存中时可以处理多个请求。显然,自从时间和时间起,它的工作效率更高。加载基本CGI环境时丢失的资源永远不会发生在FastCGI进程中经常发生
稍微离开赛道和Rails具体,但这是一个有趣的艺术: http://izumi.plan99.net/blog/index.php/2007/04/05/saving-memory-in-ruby-on-rails/
答案 1 :(得分:0)