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