在JavaEE 开发Web中,咱们常常会听到Web服务器(Web Server)、Web容器(Web Container)、应用服务器(Application Server),等容易混淆很差理解名词。本文介绍对三者的理解,以及区别与联系,若是有不正确的地方还请指正。css
由上图能够看到一个标准的http处理流程:html
Web Server
或者叫 HTTP Server
,主要用于操做Http请求,包括接受客户端的请求以及响应。它能够处理请求,也能够将请求转发至其余服务器。java
表明:Nginx
、apache
、IIS
web
Web Server市场占有率以下spring
Application Server 具有了 Web Server 处理http请求的能力(但可能没有Web Server专业)同时也支持了JavaEE 技术好比JMS、DI、JPA、Transactions、Concurrency等,同时也包含了Web Container,以下图。apache
表明:Bea WebLogic
, IBM WebSphere
服务器
应用服务器能够选择使用上文所说的 WebLogic
和 WebSphere
这种重量级产品外,也可使用相似与Tomcat
、jetty
这样的web containner 再加上第三方的框架(spring,hibernate等)来构建本身的Application Server
。app
JavaEE Application Server市场占有率框架
一个典型的JavaEE系统能够由两部分构成首先是Web Server 用于处理静态资源,而后是JavaEE Application Server 用于处理业务的动态资源。而这两部分能够是单独的服务器例如Nginx+WebSphere也能够在一个服务器上完成好比Tomcat(Tomcat便可以处理静态资源又能够处理动态的Servlet)。jsp
参考连接
[3]https://coderanch.com/t/598746/Websphere/application-server-web-server-web