1. web服务器与应用服务器的区别
严格意义上Web服务器只负责处理HTTP协议,只能发送静态页面的内容。而JSP,ASP,PHP等动态内容需要通过CGI、FastCGI、ISAPI等接口交给其他程序去处理。这个其他程序就是应用服务器。我觉得这一段说的听清楚的。(引自:https://www.zhihu.com/question/20096067)。
2. CGI(通用网关接口)
CGI应用程序的工作原理:
1.浏览器通过HTML表单或超链接请求指上一个CGI应用程序的URL。
2.服务器收发到请求。
3.服务器执行指定所CGI应用程序。
4.CGI应用程序执行所需要的操作,通常是基于浏览者输入的内容。
5.CGI应用程序把结果格式化为网络服务器和浏览器能够理解的文档(通常是HTML网页)。
6.网络服务器把结果返回到浏览器中。
3. 实例
最后通过一个PHP环境配置讲一讲web服务器和应用服务器的区别
4. 服务器端接收到http请求后是怎么样生成html文件?
凡是请求URL中匹配*.php的,都交给后端的fastCGI去处理。
fastCGI处理完成后,返回给nginx一个HTML文档。
参考:https://www.linux178.com/web/httprequest.html