一直不明白啥子叫web服务器和应用服务器,看到Google使用jetty,据说是一款不错的应用服务器,还有流星的轻量级web服务器Ngnix。上网认真查了一下,在这里简单说下区别,以防止日后土鸡。
其实可以简单描述如下:
web服务器接: 收到HTTP请求,然后将请求转发给相应的服务器端(server-side),由服务器端进行逻辑的处理然后返回,处理的主要信息有:session、request、response、HTML、JS、CS等;
应用程序服务器:它通过各种协议,可以包括HTTP,把商业逻辑暴露给(expose)客户端应用程序,处理的是非常规性WEB页面(JSP文件),动态生成WEB页面,生成的WEB页面在发送给客户端。
所以,有的时候,也把应用服务器说成是能够处理动态页面请求的服务器。WEB服务器一般是通用的,而应用服务器一般是专用的,如Tomcat只处理JAVA应用程序而不能处理ASPX或PHP。而Apache是一个WEB服 务器(HTTP服务器),后来连接Tomcat应用服务器来支持java。
但是web service的出现,已经让它们的界限模糊了,通过传送一个XML有效载荷(payload)给服务器,Web服务器现在可以处理数据和响应(response)的能力与以前的应用程序服务器同样多了。另外,现在大多数应用程序服务器也包含了Web服务器,这就意味着可以把Web服务器当作是应用程序服务器的一个子集(subset)。虽然应用程序服务 器包含了Web服务器的功能,但是开发者很少把应用程序服务器部署(deploy)成这种功能(capacity)(译者注:这种功能是指既有应用程序服 务器的功能又有Web服务器的功能)。相反,如果需要,他们通常会把Web服务器独立配置,和应用程序服务器一前一后。这种功能的分离有助于提高性能(简 单的Web请求(request)就不会影响应用程序服务器了),分开配置(专门的Web服务器,集群(clustering)等等),而且给最佳产品的 选取留有余地。
详情地址:http://www.cnblogs.com/itech/archive/2009/08/18/1548860.html
http://www.cnblogs.com/yangchao/archive/2011/03/26/2044393.html(介绍jetty的)