在网上找了很多资料,有很多这方面的文章,有的写了几千字硬是没看懂说了什么,目前在知乎大神的回答中找了个人认为最为简洁易懂的回答,整理写在这篇随笔,跟大家分享:
Web服务器:只负责处理HTTP协议,只能发送静态页面的内容。而JSP,ASP,PHP等动态内容需要通过CGI、FastCGI、ISAPI等接口交给其他程序去处理。
以上提到的这个其他程序就是应用服务器。(关于CGI/FASTCGI/ISAPI的详述在这里)
Web服务器包括Nginx,Apache,IIS..
应用服务器:应用服务器一般也支持HTTP协议,因此界限没这么清晰。但是应用服务器的HTTP协议部分仅仅是支持,一般不会做特别优化,所以很少有见Tomcat直接暴露给外面,
而是和Nginx、Apache等配合,只让Tomcat处理JSP和Servlet部分。
应用服务器包括 :WebLogic,JBoss..
个人认为Tomcat也属于应用服务器的范畴.