一、什么是Web服務(wù)器
Web服務(wù)器指的是提供web功能的服務(wù)器,主要就是HTTP服務(wù)器,包括圖片的下載等系列和文本相關(guān)的內(nèi)容。Web服務(wù)器支持以HTP協(xié)議的方式來訪間,當(dāng)Web服務(wù)器接收到一個(gè)HTTP請(qǐng)求時(shí),它同樣會(huì)以HTTP協(xié)議格式返回一個(gè)響應(yīng),這個(gè)響應(yīng)可以是一個(gè)靜態(tài)的HTML頁(yè)面,也可以是過處理的一個(gè)動(dòng)態(tài)的頁(yè)面,還可以是音頻、視頻等信息。為了處理一個(gè)請(qǐng)求,Web服務(wù)器可以做出個(gè)響應(yīng),并進(jìn)行頁(yè)面跳轉(zhuǎn),或者把動(dòng)態(tài)響應(yīng)的產(chǎn)生委托給一些其他的程序,例如CGI腳本、JSP、Servlet或者一些其他的服務(wù)器端程序。Web服務(wù)器一般都使用了一些特有的機(jī)制(例如容錯(cuò)機(jī)制)來保證Web服務(wù)器有較好的擴(kuò)展性和不間斷地提供服務(wù)。常見的Web服務(wù)器有IIS和?Apache。
二、什么是應(yīng)用服務(wù)器
應(yīng)用程序服務(wù)器是為應(yīng)用程序提供業(yè)務(wù)邏輯的代碼。它是基于組件的,位于以服務(wù)器為中心的架構(gòu)的中間層。
這個(gè)架構(gòu)主要基于Web。中間層是業(yè)務(wù)邏輯所在的應(yīng)用服務(wù)器。而第三層,則是事務(wù)服務(wù)器的數(shù)據(jù)庫(kù)。應(yīng)用程序服務(wù)器充當(dāng)?shù)氖怯脩艉蛿?shù)據(jù)庫(kù)之間的交互。
應(yīng)用服務(wù)器通過各種協(xié)議把商業(yè)邏輯曝露給客戶端的程序。它還可以包括計(jì)算機(jī)、web服務(wù)器或其他應(yīng)用服務(wù)器上的圖形用戶界面。業(yè)務(wù)邏輯通過組件API公開。它還管理自己的資源以及執(zhí)行安全性、事務(wù)處理、資源池以及消息傳遞。
對(duì)于高端需求,應(yīng)用服務(wù)器往往具有高可用性監(jiān)視、集群化、負(fù)載平衡、集成冗余和高性能分布式應(yīng)用服務(wù),以及對(duì)復(fù)雜的數(shù)據(jù)庫(kù)訪問的支持。
在流行的應(yīng)用服務(wù)器平臺(tái)中有J2EE,WebLogic,Glassfish,JBoss企業(yè)應(yīng)用平臺(tái),以及Apache Tomcat和Apache Geronimo等等。
三、Web服務(wù)器和Web應(yīng)用服務(wù)器的關(guān)系
Web服務(wù)器一般是通用的,而應(yīng)用服務(wù)器一般是專用的,例如?Tomcat只能處理Java應(yīng)用程序而不能處理ASPX或PHP。需要注意的是,Web服務(wù)器與應(yīng)用服務(wù)器是并列關(guān)系,二者不存在相互包容關(guān)系。在使用的時(shí)候,如果訪問的頁(yè)面只有HTML,用Web服務(wù)器就足夠了,但是如果是JSP,此時(shí)就需要應(yīng)用服務(wù)器,因?yàn)橹挥袘?yīng)用服務(wù)器才能解析JSP里的Java代碼,并將解析結(jié)果以HTML的格式返回給用戶。
四、Web服務(wù)器和其他類型的服務(wù)器有何區(qū)別
應(yīng)用程序服務(wù)器與Web服務(wù)器不同,因?yàn)榍罢咄ㄟ^多種協(xié)議處理向應(yīng)用程序提供業(yè)務(wù)邏輯,而Web服務(wù)器響應(yīng)并處理HTTP請(qǐng)求。雖然Web服務(wù)器可能不支持事務(wù)或數(shù)據(jù)庫(kù)連接池,但它可能具有容錯(cuò)和可擴(kuò)展性功能,如負(fù)載平衡、緩存和集群。
應(yīng)用服務(wù)器與數(shù)據(jù)庫(kù)服務(wù)器不同,因?yàn)樵摲?wù)器執(zhí)行諸如數(shù)據(jù)分析、存儲(chǔ)、數(shù)據(jù)處理、歸檔以及其他與數(shù)據(jù)管理相關(guān)的任務(wù)。數(shù)據(jù)庫(kù)服務(wù)器則使用諸如ODBC、JDBC等協(xié)議來命名。