CGI、nginx、应用服务器之间的关系?
HTTP数据包到达nginx,然后nginx通过进程间通信的方式将处理后的HTTP包交给CGI进程;然后CGI进程选择一个应用服务器的解释器,将数据包、解析后的环境变量等通过进程间通信交给应用服务器的解释器;然后应用服务器接到数据包与解析后的变量,交给相应的应用来处理。
所以我们在写后台应用的时候,总是感觉数据包是从网络上发来的,但是其实已经经过很多处理了。而且使用webpy、tomcat等这样的应用服务器来处理的时候,HTTP的解封装等工作已经由应用服务器做过了。
fastCGI的改进是,不是请求到来之后启动应用服务器的解释器,而是常驻内存,这样处理更快。
HTTP与WWW?
HTTP是Carrie,WWW是payload。