Web服務(wù)器的基本功能就是提供Web信息瀏覽服務(wù)。它只需支持HTTP協(xié)議、HTML文檔格式及URL。與客戶端的網(wǎng)絡(luò)瀏覽器配合。因為Web服務(wù)器主要支持的協(xié)議就是HTTP,所以通常情況下HTTP服務(wù)器和WEB服務(wù)器是相等的,說的是一回事。
Web服務(wù)器的基本功能就是提供Web信息瀏覽服務(wù)。它只需支持HTTP協(xié)議、HTML文檔格式及URL。與客戶端的網(wǎng)絡(luò)瀏覽器配合。因為Web服務(wù)器主要支持的協(xié)議就是HTTP,所以通常情況下HTTP服務(wù)器和WEB服務(wù)器是相等的,說的是一回事。
應(yīng)用程序服務(wù)器(簡稱應(yīng)用服務(wù)器),我們先看一下微軟對它的定義:"我們把應(yīng)用程序服務(wù)器定義為“作為服務(wù)器執(zhí)行共享業(yè)務(wù)應(yīng)用程序的底層的系統(tǒng)軟件”。 就像文件服務(wù)器為很多用戶提供文件一樣,應(yīng)用程序服務(wù)器讓多個用戶可以同時使用應(yīng)用程序"
通俗的講,Web服務(wù)器傳送(serves)頁面使瀏覽器可以瀏覽,然而應(yīng)用程序服務(wù)器提供的是客戶端應(yīng)用程序可以調(diào)用(call)的方法(methods)。確切一點,你可以說:Web服務(wù)器專門處理HTTP請求(request),但是應(yīng)用程序服務(wù)器是通過很多協(xié)議來為應(yīng)用程序提供(serves)商業(yè)邏輯 (business logic)。
以Java EE為例,Web服務(wù)器主要是處理靜態(tài)頁面處理和作為 Servlet
容器,解釋和執(zhí)行servlet/JSP,而應(yīng)用服務(wù)器是運行業(yè)務(wù)邏輯的,主要是EJB、 JNDI和JMX API等J2EE API方面的,還包含事務(wù)處理、
數(shù)據(jù)庫連接等功能,所以在企業(yè)級應(yīng)用中,應(yīng)用服務(wù)器提供的功能比WEB服務(wù)器強大的多。
以這樣的定義,IIS、Apache、Tomcat都可以屬于Web服務(wù)器,Weblogic、WebSphere都屬于應(yīng)用服務(wù)器。
Apache:在Web服務(wù)器中,Apache是純粹的Web服務(wù)器,經(jīng)常與Tomcat配對使用。它對HTML頁面具有強大的解釋能力,但是不能解釋嵌入頁面內(nèi)的服務(wù)器端
腳本代碼(JSP/Servlet)。
Tomcat:早期的Tomcat是一個嵌入Apache內(nèi)的JSP/Servlet解釋引擎Apache+Tomcat就相當于IIS+ASP。后來的Tomcat已不再嵌入Apache內(nèi),Tomcat進程獨立于Apache進程運行。 而且,Tomcat已經(jīng)是一個獨立的Servlet和JSP容器,業(yè)務(wù)邏輯層代碼和界面交互層代碼可以分離了。因此,有人把Tomcat叫做輕量級應(yīng)用服務(wù)器。
IIS:微軟早期的IIS,就是一個純粹的Web服務(wù)器。后來,它嵌入了ASP引擎,可以解釋VBScript和JScript服務(wù)器端代碼了,這時,它就可以兼作應(yīng)用服務(wù)器。當然,它與J2EE應(yīng)用服務(wù)器根本無法相比,但是,從功能上說,從原理上說,它勉強可以稱之為應(yīng)用服務(wù)器。確切地說,它是兼有一點應(yīng)用服務(wù)器功能的Web服務(wù)器。
綜上:Apache是純粹的
web服務(wù)器,而Tomcat和IIS因為具有了解釋執(zhí)行服務(wù)器端代碼的能力,可以稱作為輕量級應(yīng)用服務(wù)器或帶有服務(wù)器功能的Web服務(wù)器。Weblogic、WebSphere因為能提供強大的J2EE功能,毫無疑問是絕對的應(yīng)用服務(wù)器。對于處于中間位置的Tomcat,它可以配合純Web服務(wù)器Apache一起使用,也可以作為應(yīng)用服務(wù)器的輔助與應(yīng)用服務(wù)器一起部署。