來源:白及 發(fā)布時(shí)間:2020-04-28 14:07:13 閱讀量:1574
一 常見的WEB服務(wù)器和應(yīng)用服務(wù)器
在UNIX和LINUX平臺(tái)下使用最廣泛的免費(fèi)web服務(wù)器是W3C、NCSA和APACHE服務(wù)器,而Windows平臺(tái)NT/2000/2003使用IIS的WEB服務(wù)器。
在選擇使用WEB服務(wù)器應(yīng)考慮的本身特性因素有:性能、安全性、日志和統(tǒng)計(jì)、虛擬主機(jī)、代理服務(wù)器、緩沖服務(wù)和集成應(yīng)用程序等,下面介紹幾種常用的WEB服務(wù)器。
常見的web服務(wù)器: (其實(shí)IIS和Apache同時(shí)也支持基礎(chǔ)的應(yīng)用服務(wù)器的功能)
Microsoft IIS
Microsoft的Web服務(wù)器產(chǎn)品為Internet Information Server (IIS), IIS 是允許在公共Intranet或Internet上發(fā)布信息的Web服務(wù)器。IIS是目前最流行的Web服務(wù)器產(chǎn)品之一,很多著名的網(wǎng)站都是建立在IIS 的平臺(tái)上。IIS提供了一個(gè)圖形界面的管理工具,稱為 Internet服務(wù)管理器,可用于監(jiān)視配置和控制Internet服務(wù)。
IIS是一種Web服務(wù)組件,其中包括Web服務(wù)器、FTP服務(wù)器、NNTP服務(wù)器和SMTP服務(wù)器, 分別用于網(wǎng)頁瀏覽、文件傳輸、新聞服務(wù)和郵件發(fā)送等方面,它使得在網(wǎng)絡(luò)(包括互聯(lián)網(wǎng)和局域網(wǎng))上發(fā)布信息成了一件很容易的事。它提供 ISAPI(Intranet Server API)作為擴(kuò)展Web服務(wù)器功能的編程接口;同時(shí),它還提供一個(gè)Internet數(shù)據(jù)庫連接器,可以實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的查詢和更新。
Apache
Apache 源于NCSAhttpd服務(wù)器,經(jīng)過多次修改,成為世界上最流行的Web服務(wù)器軟件之一。 Apache是自由軟件,所以不斷有人來為它開發(fā)新的功能、新的特性、修改原來的缺陷。Apache的特點(diǎn)是簡單、速度快、性能穩(wěn)定,并可做代理服務(wù)器來 使用。本來它只用于小型或試驗(yàn)Internet網(wǎng)絡(luò),后來逐步擴(kuò)充到各種Unix系統(tǒng)中,尤其對(duì)Linux的支持相當(dāng)完美。
Apache是以進(jìn)程為基礎(chǔ)的結(jié)構(gòu),進(jìn)程要比線程消耗更多的系統(tǒng)開支,不太適合于多處理器環(huán)境,因此, 在一個(gè)Apache Web站點(diǎn)擴(kuò)容時(shí),通常是增加服務(wù)器或擴(kuò)充群集節(jié)點(diǎn)而不是增加處理器。到目前為止Apache仍然是世界上用的最多的Web服務(wù)器,世界上很多著名的網(wǎng)站 都是Apache的產(chǎn)物,它的成功之處主要在于它的源代碼開放、有一支開放的開發(fā)隊(duì)伍、支持跨平臺(tái)的應(yīng)用(可以運(yùn)行在幾乎所有的Unix、 Windows、Linux系統(tǒng)平臺(tái)上)以及它的可移植性等方面。
常見的應(yīng)用服務(wù)器: (貌似都是Java的哦。asp.net被IIS支持了,php,python等貌似一般不需要單獨(dú)的應(yīng)用服務(wù)器哦)
IBM WebSphere
WebSphere Application Server 是 一 種功能完善、開放的Web應(yīng)用程序服務(wù)器,是IBM電子商務(wù)計(jì)劃的核心部分,它是基于 Java 的應(yīng)用環(huán)境,用于建立、部署和管理 Internet 和 Intranet Web 應(yīng)用程序。 這一整套產(chǎn)品進(jìn)行了擴(kuò)展,以適應(yīng) Web 應(yīng)用程序服務(wù)器的需要,范圍從簡單到高級(jí)直到企業(yè)級(jí)。
WebSphere 針對(duì)以 Web 為中心的開發(fā)人員,他們都是在基本 HTTP服務(wù)器和 CGI 編程技術(shù)上成長起來的。IBM 將提供 WebSphere 產(chǎn)品系列,通過提供綜合資源、可重復(fù)使用的組件、功能強(qiáng)大并易于使用的工具、以及支持 HTTP 和 IIOP 通信的可伸縮運(yùn)行時(shí)環(huán)境,來幫助這些用戶從簡單的 Web 應(yīng)用程序轉(zhuǎn)移到電子商務(wù)世界。
BEA WebLogic
BEA WebLogic Server 是一種多功能、基于標(biāo)準(zhǔn)的web應(yīng)用服務(wù)器,為企業(yè)構(gòu)建自己的應(yīng)用提供了堅(jiān)實(shí)的基礎(chǔ)。各種應(yīng)用開發(fā)、部署所有關(guān)鍵性的任務(wù),無論是集成各種系統(tǒng)和數(shù)據(jù)庫, 還是提交服務(wù)、跨 Internet 協(xié)作,起始點(diǎn)都是 BEA WebLogic Server。由于 它具有全面的功能、對(duì)開放標(biāo)準(zhǔn)的遵從性、多層架構(gòu)、支持基于組件的開發(fā),基于 Internet 的企業(yè)都選擇它來開發(fā)、部署最佳的應(yīng)用。
BEA WebLogic Server 在使應(yīng)用服務(wù)器成為企業(yè)應(yīng)用架構(gòu)的基礎(chǔ)方面繼續(xù)處于領(lǐng)先地位。BEA WebLogic Server 為構(gòu)建集成化的企業(yè)級(jí)應(yīng)用提供了穩(wěn)固的基礎(chǔ),它們以 Internet 的容量和速度,在連網(wǎng)的企業(yè)之間共享信息、提交服務(wù),實(shí)現(xiàn)協(xié)作自動(dòng)化。BEA WebLogic Server 的遵從 J2EE 、面向服務(wù)的架構(gòu),以及豐富的工具集支持,便于實(shí)現(xiàn)業(yè)務(wù)邏輯、數(shù)據(jù)和表達(dá)的分離,提供開發(fā)和部署各種業(yè)務(wù)驅(qū)動(dòng)應(yīng)用所必需的底層核心功能。
IPlanet Application
IPlanet Application Server作為Sun與Netscape聯(lián)盟產(chǎn)物的iPlanet公司生產(chǎn)的iPlanet Application Server 滿足最新J2EE規(guī)范的要求。它是一種完整的WEB服務(wù)器應(yīng)用解決方案,它允許企業(yè)以便捷的方式,開發(fā)、部署和管理關(guān)鍵任務(wù) Internet 應(yīng)用。該解決方案集高性能、高度可伸縮和高度可用性于一體,可以支持大量的具有多種客戶機(jī)類型與數(shù)據(jù)源的事務(wù)。
iPlanet Application Server的基本核心服務(wù)包括事務(wù)監(jiān)控器、多負(fù)載平衡選項(xiàng)、對(duì)集群和故障轉(zhuǎn)移全面的支持、集成的XML 解析器和可擴(kuò)展格式語言轉(zhuǎn)換(XLST)引擎以及對(duì)國際化的全面支持。iPlanet Application Server 企業(yè)版所提供的全部特性和功能,并得益于J2EE系統(tǒng)構(gòu)架,擁有更好的商業(yè)工作流程管理工具和應(yīng)用集成功能。
Oracle IAS
Oracle iAS的英文全稱是Oracle Internet Application Server,即Internet應(yīng)用服務(wù)器,Oracle iAS是基于Java的應(yīng)用服務(wù)器,通過與Oracle 數(shù)據(jù)庫等產(chǎn)品的結(jié)合,Oracle iAS能夠滿足Internet應(yīng)用對(duì)可靠性、可用性和可伸縮性的要求。
Oracle iAS最大的優(yōu)勢是其集成性和通用性,它是一個(gè)集成的、通用的中間件產(chǎn)品。在集成性方面,Oracle iAS將業(yè)界最流行的HTTP服務(wù)器Apache集成到系統(tǒng)中,集成了Apache的Oracle iAS通信服務(wù)層可以處理多種客戶請求,包括來自Web瀏覽器、胖客戶端和手持設(shè)備的請求,并且根據(jù)請求的具體內(nèi)容,將它們分發(fā)給不同的應(yīng)用服務(wù)進(jìn)行處 理。在通用性方面,Oracle iAS支持各種業(yè)界標(biāo)準(zhǔn),包括 JavaBeans、CORBA、Servlets以及XML標(biāo)準(zhǔn)等,這種對(duì)標(biāo)準(zhǔn)的全面支持使得用戶很容易將在其他系統(tǒng)平臺(tái)上開發(fā)的應(yīng)用移植到 Oracle平臺(tái)上。
Tomcat
Tomcat是一個(gè)開放源代碼、運(yùn)行servlet和JSP Web應(yīng)用軟件的基于Java的Web應(yīng)用軟件容器。Tomcat Server是根據(jù)servlet和JSP規(guī)范進(jìn)行執(zhí)行的,因此我們就可以說Tomcat Server也實(shí)行了Apache-Jakarta規(guī)范且比絕大多數(shù)商業(yè)應(yīng)用軟件服務(wù)器要好。
Tomcat是Java Servlet 2.2和JavaServer Pages 1.1技術(shù)的標(biāo)準(zhǔn)實(shí)現(xiàn),是基于Apache許可證下開發(fā)的自由軟件。Tomcat是完全重寫的Servlet API 2.2和JSP 1.1兼容的Servlet/JSP容器。Tomcat使用了JServ的一些代碼,特別是Apache服務(wù)適配器。隨著Catalina Servlet引擎的出現(xiàn),Tomcat第四版號(hào)的性能得到提升,使得它成為一個(gè)值得考慮的Servlet/JSP容器,因此目前許多WEB服務(wù)器都是采 用Tomcat。
二 web服務(wù)器和應(yīng)用服務(wù)器比較
通俗的講,Web服務(wù)器傳送(serves)頁面使瀏覽器可以瀏覽,然而應(yīng)用程序服務(wù)器提供的是客戶 端應(yīng)用程序可以調(diào)用(call)的方法(methods)。確切一點(diǎn),你可以說:Web服務(wù)器專門處理HTTP請求(request),但是應(yīng)用程序服務(wù) 器是通過很多協(xié)議來為應(yīng)用程序提供(serves)商業(yè)邏輯(business logic)。
下面讓我們來細(xì)細(xì)道來:
Web服務(wù)器(Web Server)
Web服務(wù)器可以解析(handles)HTTP協(xié)議。當(dāng)Web服務(wù)器接收到一個(gè)HTTP請求(request),會(huì)返回一個(gè)HTTP響應(yīng) (response),例如送回一個(gè)HTML頁面。為了處理一個(gè)請求(request),Web服務(wù)器可以響應(yīng)(response)一個(gè)靜態(tài)頁面或圖片, 進(jìn)行頁面跳轉(zhuǎn)(redirect),或者把動(dòng)態(tài)響應(yīng)(dynamic response)的產(chǎn)生委托(delegate)給一些其它的程序例如CGI腳本,JSP(JavaServer Pages)腳本,servlets,ASP(Active Server Pages)腳本,服務(wù)器端(server-side)JavaScript,或者一些其它的服務(wù)器端(server-side)技術(shù)。無論它們(譯者 注:腳本)的目的如何,這些服務(wù)器端(server-side)的程序通常產(chǎn)生一個(gè)HTML的響應(yīng)(response)來讓瀏覽器可以瀏覽。
要知道,Web服務(wù)器的代理模型(delegation model)非常簡單。當(dāng)一個(gè)請求(request)被送到Web服務(wù)器里來時(shí),它只單純的把請求(request)傳遞給可以很好的處理請求 (request)的程序(譯者注:服務(wù)器端腳本)。Web服務(wù)器僅僅提供一個(gè)可以執(zhí)行服務(wù)器端(server-side)程序和返回(程序所產(chǎn)生的)響 應(yīng)(response)的環(huán)境,而不會(huì)超出職能范圍。服務(wù)器端(server-side)程序通常具有事務(wù)處理(transaction processing),數(shù)據(jù)庫連接(database connectivity)和消息(messaging)等功能。
雖然Web服務(wù)器不支持事務(wù)處理或數(shù)據(jù)庫連接池,但它可以配置(employ)各種策略(strategies)來實(shí)現(xiàn)容錯(cuò)性(fault tolerance)和可擴(kuò)展性(scalability),例如負(fù)載平衡(load balancing),緩沖(caching)。集群特征(clustering—features)經(jīng)常被誤認(rèn)為僅僅是應(yīng)用程序服務(wù)器專有的特征。
應(yīng)用程序服務(wù)器(The Application Server)
根據(jù)我們的定義,作為應(yīng)用程序服務(wù)器,它通過各種協(xié)議,可以包括HTTP,把商業(yè)邏輯暴露給(expose)客戶端應(yīng)用程序。Web服務(wù)器主要是處理向?yàn)g 覽器發(fā)送HTML以供瀏覽,而應(yīng)用程序服務(wù)器提供訪問商業(yè)邏輯的途徑以供客戶端應(yīng)用程序使用。應(yīng)用程序使用此商業(yè)邏輯就象你調(diào)用對(duì)象的一個(gè)方法(或過程語 言中的一個(gè)函數(shù))一樣。
應(yīng)用程序服務(wù)器的客戶端(包含有圖形用戶界面(GUI)的)可能會(huì)運(yùn)行在一臺(tái)PC、一個(gè)Web服務(wù)器或者甚至是其它的應(yīng)用程序服務(wù)器上。在應(yīng)用程序服務(wù)器 與其客戶端之間來回穿梭(traveling)的信息不僅僅局限于簡單的顯示標(biāo)記。相反,這種信息就是程序邏輯(program logic)。 正是由于這種邏輯取得了(takes)數(shù)據(jù)和方法調(diào)用(calls)的形式而不是靜態(tài)HTML,所以客戶端才可以隨心所欲的使用這種被暴露的商業(yè)邏輯。
在大多數(shù)情形下,應(yīng)用程序服務(wù)器是通過組件(component)的應(yīng)用程序接口(API)把商業(yè)邏輯暴露(expose)(給客戶端應(yīng)用程序)的,例如 基于J2EE(Java 2 Platform, Enterprise Edition)應(yīng)用程序服務(wù)器的EJB(Enterprise JavaBean)組件模型。此外,應(yīng)用程序服務(wù)器可以管理自己的資源,例如看大門的工作(gate-keeping duties)包括安全(security),事務(wù)處理(transaction processing),資源池(resource pooling), 和消息(messaging)。就象Web服務(wù)器一樣,應(yīng)用程序服務(wù)器配置了多種可擴(kuò)展(scalability)和容錯(cuò)(fault tolerance)技術(shù)。