JavaEE中Web服務器、Web容器、Application服務器區別及聯系


在JavaEE 開發Web中,我們經常會聽到Web服務器(Web Server)、Web容器(Web Container)、應用服務器(Application Server),等容易混淆不好理解名詞。本文介紹對三者的理解,以及區別與聯系,如果有不正確的地方還請指正。

Web Server And Application Server

由上圖可以看到一個標准的http處理流程:

  1. 首先通過Web Server 接受Http請求;
  2. 比如html、css等靜態資源 Web Server 可自行處理;
  3. 當遇到動態資源(jsp等)時候Web Server 將請求轉接至Application Server中,由Application Server處理;

Web服務器(Web Server)

Web Server 或者叫 HTTP Server ,主要用於操作Http請求,包括接受客戶端的請求以及響應。它可以處理請求,也可以將請求轉發至其他服務器。

代表:NginxapacheIIS

Web Server市場占有率如下

市場占有

應用服務器(JavaEE Application Server)

Application Server 具備了 Web Server 處理http請求的能力(但可能沒有Web Server專業)同時也支持了JavaEE 技術比如JMS、DI、JPA、Transactions、Concurrency等,同時也包含了Web Container,如下圖。

代表:Bea WebLogic, IBM WebSphere

web sphere

應用服務器可以選擇使用上文所說的 WebLogicWebSphere 這種重量級產品外,也可以使用類似與Tomcatjetty這樣的web containner 再加上第三方的框架(spring,hibernate等)來構建自己的Application Server

JavaEE Application Server市場占有率

市場占有

組合應用

一個典型的JavaEE系統可以由兩部分構成首先是Web Server 用於處理靜態資源,然后是JavaEE Application Server 用於處理業務的動態資源。而這兩部分可以是單獨的服務器例如Nginx+WebSphere也可以在一個服務器上完成比如Tomcat(Tomcat即可以處理靜態資源又可以處理動態的Servlet)。

作者:帥蟲哥 出處: http://www.cnblogs.com/vipyoumay/p/5853694.html


參考鏈接

[1]http://stackoverflow.com/questions/12689910/difference-between-web-server-web-container-and-application-server

[2]http://stackoverflow.com/questions/5039354/difference-between-an-application-server-and-a-servlet-container?noredirect=1&lq=1

[3]https://coderanch.com/t/598746/Websphere/application-server-web-server-web

[4]http://www.ibm.com/support/knowledgecenter/zh/SSAW57_7.0.0/com.ibm.websphere.nd.iseries.doc/info/iseriesnd/ae/welc6tech_ovrex.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM