




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、WEB服務(wù)器實(shí)驗(yàn)報(bào)告一、什么是WEB服務(wù)器WEB服務(wù)器也稱為WWW(WORLD WIDE WEB)服務(wù)器,主要功能是提供網(wǎng)上信息瀏覽服務(wù)。 (1)應(yīng)用層使用HTTP協(xié)議。 (2)HTML文檔格式。 (3)瀏覽器統(tǒng)一資源定位器(URL)。 WWW代表萬(wàn)維網(wǎng)的意思 WWW 是 Internet 的多媒體信息查詢工具,是 Internet 上近年才發(fā)展起來(lái)的服務(wù),也是發(fā)展最快和目前用的最廣泛的服務(wù)。正是因?yàn)橛辛薟WW工具,才使得近年來(lái) Internet 迅速發(fā)展,且用戶數(shù)量飛速增長(zhǎng)。 1、WWW簡(jiǎn)介 WWW 是 World Wide Web (環(huán)球信息網(wǎng))的縮寫(xiě),也可以簡(jiǎn)稱為 Web,中文名字為“萬(wàn)
2、維網(wǎng)”。它起源于1989年3月,由歐洲量子物理實(shí)驗(yàn)室 CERN(the European Laboratory for Particle Physics)所發(fā)展出來(lái)的主從結(jié)構(gòu)分布式超媒體系統(tǒng)。通過(guò)萬(wàn)維網(wǎng),人們只要通過(guò)使用簡(jiǎn)單的方法,就可以很迅速方便地取得豐富的信息資料。 由于用戶在通過(guò) Web 瀏覽器訪問(wèn)信息資源的過(guò)程中,無(wú)需再關(guān)心一些技術(shù)性的細(xì)節(jié),而且界面非常友好,因而 Web 在Internet 上一推出就受到了熱烈的歡迎,走紅全球,并迅速得到了爆炸性的發(fā)展。 2、WWW的發(fā)展和特點(diǎn) 長(zhǎng)期以來(lái),人們只是通過(guò)傳統(tǒng)的媒體(如電視、報(bào)紙、雜志和廣播等)獲得信息。但隨著計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展,人們想要獲
3、取信息,已不再滿足于傳統(tǒng)媒體那種單方面?zhèn)鬏敽瞳@取的方式,而希望有一種主觀的選擇性。現(xiàn)在,網(wǎng)絡(luò)上提供各種類別的數(shù)據(jù)庫(kù)系統(tǒng),如文獻(xiàn)期刊、產(chǎn)業(yè)信息、氣象信息、論文檢索等等。由于計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展,信息的獲取變得非常及時(shí)、迅速和便捷。 到了1993年,WWW 的技術(shù)有了突破性的進(jìn)展,它解決了遠(yuǎn)程信息服務(wù)中的文字顯示、數(shù)據(jù)連接以及圖像傳遞的問(wèn)題,使得 WWW 成為 Internet 上最為流行的信息傳播方式。 現(xiàn)在,Web 服務(wù)器成為 Internet 上最大的計(jì)算機(jī)群,Web 文檔之多、鏈接的網(wǎng)絡(luò)之廣,令人難以想象。可以說(shuō),Web 為 Internet 的普及邁出了開(kāi)創(chuàng)性的一步,是近年來(lái) Interne
4、t 上取得的最激動(dòng)人心的成就。 WWW 采用的是客戶/服務(wù)器結(jié)構(gòu),其作用是整理和儲(chǔ)存各種WWW資源,并響應(yīng)客戶端軟件的請(qǐng)求,把客戶所需的資源傳送到 Windows 95(或Windows98)、Windows NT、UNIX 或 Linux 等平臺(tái)上。 使用最多的 web server 服務(wù)器軟件 有兩個(gè):微軟的信息服務(wù)器(iis),和Apache。通俗的講,Web服務(wù)器傳送(serves)頁(yè)面使瀏覽器可以瀏覽,然而應(yīng)用程序服務(wù)器提供的是客戶端應(yīng)用程序可以調(diào)用(call)的方法(methods)。確切一點(diǎn),你可以說(shuō):Web服務(wù)器專門(mén)處理HTTP請(qǐng)求(request),但是應(yīng)用程序服務(wù)器是通過(guò)很
5、多協(xié)議來(lái)為應(yīng)用程序提供(serves)商業(yè)邏輯(business logic)。Web服務(wù)器可以解析(handles)HTTP協(xié)議。當(dāng)Web服務(wù)器接收到一個(gè)HTTP請(qǐng)求(request),會(huì)返回一個(gè)HTTP響應(yīng)(response),例如送回一個(gè)HTML頁(yè)面。為了處理一個(gè)請(qǐng)求(request),Web服務(wù)器可以響應(yīng)(response)一個(gè)靜態(tài)頁(yè)面或圖片,進(jìn)行頁(yè)面跳轉(zhuǎn)(redirect),或者把動(dòng)態(tài)響應(yīng)(dynamic response)的產(chǎn)生委托(delegate)給一些其它的程序例如CGI腳本,JSP(JavaServer Pages)腳本,servlets,ASP(Active Server
6、 Pages)腳本,服務(wù)器端(server-side)JavaScript,或者一些其它的服務(wù)器端(server-side)技術(shù)。無(wú)論它們(譯者注:腳本)的目的如何,這些服務(wù)器端(server-side)的程序通常產(chǎn)生一個(gè)HTML的響應(yīng)(response)來(lái)讓瀏覽器可以瀏覽。 要知道,Web服務(wù)器的代理模型(delegation model)非常簡(jiǎn)單。當(dāng)一個(gè)請(qǐng)求(request)被送到Web服務(wù)器里來(lái)時(shí),它只單純的把請(qǐng)求(request)傳遞給可以很好的處理請(qǐng)求(request)的程序(譯者注:服務(wù)器端腳本)。Web服務(wù)器僅僅提供一個(gè)可以執(zhí)行服務(wù)器端(server-side)程序和返回(程序所
7、產(chǎn)生的)響應(yīng)(response)的環(huán)境,而不會(huì)超出職能范圍。服務(wù)器端(server-side)程序通常具有事務(wù)處理(transaction processing),數(shù)據(jù)庫(kù)連接(database connectivity)和消息(messaging)等功能。雖然Web服務(wù)器不支持事務(wù)處理或數(shù)據(jù)庫(kù)連接池,但它可以配置(employ)各種策略(strategies)來(lái)實(shí)現(xiàn)容錯(cuò)性(fault tolerance)和可擴(kuò)展性(scalability),例如負(fù)載平衡(load balancing),緩沖(caching)。集群特征(clusteringfeatures)經(jīng)常被誤認(rèn)為僅僅是應(yīng)用程序服務(wù)器專有
8、的特征。 應(yīng)用程序服務(wù)器(The Application Server) 根據(jù)我們的定義,作為應(yīng)用程序服務(wù)器,它通過(guò)各種協(xié)議,可以包括HTTP,把商業(yè)邏輯暴露給(expose)客戶端應(yīng)用程序。Web服務(wù)器主要是處理向?yàn)g覽器發(fā)送HTML以供瀏覽,而應(yīng)用程序服務(wù)器提供訪問(wèn)商業(yè)邏輯的途徑以供客戶端應(yīng)用程序使用。應(yīng)用程序使用此商業(yè)邏輯就象你調(diào)用對(duì)象的一個(gè)方法(或過(guò)程語(yǔ)言中的一個(gè)函數(shù))一樣。 應(yīng)用程序服務(wù)器的客戶端(包含有圖形用戶界面(GUI)的)可能會(huì)運(yùn)行在一臺(tái)PC、一個(gè)Web服務(wù)器或者甚至是其它的應(yīng)用程序服務(wù)器上。在應(yīng)用程序服務(wù)器與其客戶端之間來(lái)回穿梭(traveling)的信息不僅僅局限于簡(jiǎn)單的顯
9、示標(biāo)記。相反,這種信息就是程序邏輯(program logic)。 正是由于這種邏輯取得了(takes)數(shù)據(jù)和方法調(diào)用(calls)的形式而不是靜態(tài)HTML,所以客戶端才可以隨心所欲的使用這種被暴露的商業(yè)邏輯。 在大多數(shù)情形下,應(yīng)用程序服務(wù)器是通過(guò)組件(component)的應(yīng)用程序接口(API)把商業(yè)邏輯暴露(expose)(給客戶端應(yīng)用程序)的,例如基于J2EE(Java 2 Platform, Enterprise Edition)應(yīng)用程序服務(wù)器的EJB(Enterprise JavaBean)組件模型。此外,應(yīng)用程序服務(wù)器可以管理自己的資源,例如看大門(mén)的工作(gate-keeping
10、duties)包括安全(security),事務(wù)處理(transaction processing),資源池(resource pooling), 和消息(messaging)。就象Web服務(wù)器一樣,應(yīng)用程序服務(wù)器配置了多種可擴(kuò)展(scalability)和容錯(cuò)(fault tolerance)技術(shù)。 例如,設(shè)想一個(gè)在線商店(網(wǎng)站)提供實(shí)時(shí)定價(jià)(real-time pricing)和有效性(availability)信息。這個(gè)站點(diǎn)(site)很可能會(huì)提供一個(gè)表單(form)讓你來(lái)選擇產(chǎn)品。當(dāng)你提交查詢(query)后,網(wǎng)站會(huì)進(jìn)行查找(lookup)并把結(jié)果內(nèi)嵌在HTML頁(yè)面中返回。網(wǎng)站可以有很
11、多種方式來(lái)實(shí)現(xiàn)這種功能。我要介紹一個(gè)不使用應(yīng)用程序服務(wù)器的情景和一個(gè)使用應(yīng)用程序服務(wù)器的情景。觀察一下這兩中情景的不同會(huì)有助于你了解應(yīng)用程序服務(wù)器的功能。 情景1:不帶應(yīng)用程序服務(wù)器的Web服務(wù)器 在此種情景下,一個(gè)Web服務(wù)器獨(dú)立提供在線商店的功能。Web服務(wù)器獲得你的請(qǐng)求(request),然后發(fā)送給服務(wù)器端(server-side)可以處理請(qǐng)求(request)的程序。此程序從數(shù)據(jù)庫(kù)或文本文件(flat file,譯者注:flat file是指沒(méi)有特殊格式的非二進(jìn)制的文件,如properties和XML文件等)中查找定價(jià)信息。一旦找到,服務(wù)器端(server-side)程序把結(jié)果信息表示
12、成(formulate)HTML形式,最后Web服務(wù)器把會(huì)它發(fā)送到你的Web瀏覽器。 簡(jiǎn)而言之,Web服務(wù)器只是簡(jiǎn)單的通過(guò)響應(yīng)(response)HTML頁(yè)面來(lái)處理HTTP請(qǐng)求(request)。 情景2:帶應(yīng)用程序服務(wù)器的Web服務(wù)器 情景2和情景1相同的是Web服務(wù)器還是把響應(yīng)(response)的產(chǎn)生委托(delegates)給腳本(譯者注:服務(wù)器端(server-side)程序)。然而,你可以把查找定價(jià)的商業(yè)邏輯(business logic)放到應(yīng)用程序服務(wù)器上。由于這種變化,此腳本只是簡(jiǎn)單的調(diào)用應(yīng)用程序服務(wù)器的查找服務(wù)(lookup service),而不是已經(jīng)知道如何查找數(shù)據(jù)然后
13、表示為(formulate)一個(gè)響應(yīng)(response)。 這時(shí)當(dāng)該腳本程序產(chǎn)生HTML響應(yīng)(response)時(shí)就可以使用該服務(wù)的返回結(jié)果了。 在此情景中,應(yīng)用程序服務(wù)器提供(serves)了用于查詢產(chǎn)品的定價(jià)信息的商業(yè)邏輯。(服務(wù)器的)這種功能(functionality)沒(méi)有指出有關(guān)顯示和客戶端如何使用此信息的細(xì)節(jié),相反客戶端和應(yīng)用程序服務(wù)器只是來(lái)回傳送數(shù)據(jù)。當(dāng)有客戶端調(diào)用應(yīng)用程序服務(wù)器的查找服務(wù)(lookup service)時(shí),此服務(wù)只是簡(jiǎn)單的查找并返回結(jié)果給客戶端。 通過(guò)從響應(yīng)產(chǎn)生(response-generating)HTML的代碼中分離出來(lái),在應(yīng)用程序之中該定價(jià)(查找)邏輯的
14、可重用性更強(qiáng)了。其他的客戶端,例如收款機(jī),也可以調(diào)用同樣的服務(wù)(service)來(lái)作為一個(gè)店員給客戶結(jié)帳。相反,在情景1中的定價(jià)查找服務(wù)是不可重用的因?yàn)樾畔?nèi)嵌在HTML頁(yè)中了。 總而言之,在情景2的模型中,在Web服務(wù)器通過(guò)回應(yīng)HTML頁(yè)面來(lái)處理HTTP請(qǐng)求(request),而應(yīng)用程序服務(wù)器則是通過(guò)處理定價(jià)和有效性(availability)請(qǐng)求(request)來(lái)提供應(yīng)用程序邏輯的。 警告(Caveats) 現(xiàn)在,XML Web Services已經(jīng)使應(yīng)用程序服務(wù)器和Web服務(wù)器的界線混淆了。通過(guò)傳送一個(gè)XML有效載荷(payload)給服務(wù)器,Web服務(wù)器現(xiàn)在可以處理數(shù)據(jù)和響應(yīng)(res
15、ponse)的能力與以前的應(yīng)用程序服務(wù)器同樣多了。 另外,現(xiàn)在大多數(shù)應(yīng)用程序服務(wù)器也包含了Web服務(wù)器,這就意味著可以把Web服務(wù)器當(dāng)作是應(yīng)用程序服務(wù)器的一個(gè)子集(subset)。雖然應(yīng)用程序服務(wù)器包含了Web服務(wù)器的功能,但是開(kāi)發(fā)者很少把應(yīng)用程序服務(wù)器部署(deploy)成這種功能(capacity)(譯者注:這種功能是指既有應(yīng)用程序服務(wù)器的功能又有Web服務(wù)器的功能)。相反,如果需要,他們通常會(huì)把Web服務(wù)器獨(dú)立配置,和應(yīng)用程序服務(wù)器一前一后。這種功能的分離有助于提高性能(簡(jiǎn)單的Web請(qǐng)求(request)就不會(huì)影響應(yīng)用程序服務(wù)器了),分開(kāi)配置(專門(mén)的Web服務(wù)器,集群(clusterin
16、g)等等),而且給最佳產(chǎn)品的選取留有余地。二、適用的web服務(wù)器小的應(yīng)用程序可以直接記住,系統(tǒng)地、嚴(yán)密地加以考慮,以證明它們的安全性或可伸縮性。小型 Web 服務(wù)器包括: Cheetah Server,用不到一千行的 C 代碼編寫(xiě)而成。 DustMote,一個(gè)非常 小的 Web 服務(wù)器,用一個(gè)大約 3000 字節(jié)的 Tcl 源文件實(shí)現(xiàn)。 fnord,大小取決于平臺(tái)和配置,不超過(guò) 20K。雖然很小,但是它支持虛擬主機(jī)、CGI和 keep-alive。 ihttpd,使用不到 800 行的 C 代碼,包括 CGI,并通過(guò) inetd提供頁(yè)面。 im-httpd,非常小的服務(wù)器 只有大約 7 KB,
17、鏈接到 glibc。而且它也非??臁?mattows,支持 CGI,只有 600 行 C 代碼。 Scrinchy,雖然很小,不到 30KB,但是支持多種腳本編制語(yǔ)言,包括一種特殊用途的、基于棧的 Sy 腳本語(yǔ)言。 ZWS 演示了一個(gè)即使是使用 500 多行帶足夠注釋的 zsh (!) 編寫(xiě)的應(yīng)用程序 在這里是一個(gè) HTTP 0.9+ 服務(wù)器 也可以有多強(qiáng)大。 體積小并不妨礙這些服務(wù)器被正式使用。例如,fnord 可以處理數(shù)千個(gè)同時(shí)進(jìn)行的連接。 也許輕量級(jí)作為一個(gè)類別最令人印象深刻的成就是高性能服務(wù)器: cghttpd 是一個(gè)小型 Web 服務(wù)器,它被理解為使用 2.6 系列內(nèi)核中可用的異步功
18、能的一個(gè)試驗(yàn)品。 darkhttpd 是一個(gè)快速的、單線程的 HTTP/1.1 服務(wù)器。 Gatling 是為高性能設(shè)計(jì)的。它的特性包括 FTP、IPv6、虛擬主機(jī)、CGI 等。 Kernux 是一個(gè) Linux內(nèi)核模塊,它實(shí)現(xiàn)了一個(gè) HTTP 守護(hù)進(jìn)程。 lighttpd 是使用率排名第五的 Web 服務(wù)器(排名還在上升)。它為很多同時(shí)進(jìn)行的連接進(jìn)行了優(yōu)化:“典型的場(chǎng)景是使用 lighttpd 作為一個(gè)下載(off-load)服務(wù)器,以提供靜態(tài)內(nèi)容” LiteSpeed Web Server 是一款輕量級(jí)商業(yè) Web 服務(wù)器,強(qiáng)調(diào)性能和安全性。LiteSpeed Technologies 公
19、司宣傳為靜態(tài)內(nèi)容提速了 6 倍,在解釋頁(yè)面方面也有一定的提高。 Miniature JWS,也稱 tjws,它是基于 Java 的 Web 服務(wù)器,可以處理servlet、JSP和數(shù)千個(gè)并發(fā)連接,而大小只有 77 KB。它的作者聲稱它 “比 Apache 2.x 快 10%”。 Yaws 是用 Erlang 編寫(xiě)的一款高性能 HTTP/1.1 服務(wù)器。 有些 Web 服務(wù)器被實(shí)現(xiàn)為類或庫(kù),以便嵌入到較大的應(yīng)用程序中。 在這些 Web 服務(wù)器當(dāng)中,我發(fā)現(xiàn)特別有趣的有: EHS “嵌入式HTTP 服務(wù)器”,被設(shè)計(jì)為一個(gè) C+類,用于嵌入到較大的 C+ 應(yīng)用程序;還有 Embedded TCL We
20、b Server,它是一個(gè)很普通的 Web 服務(wù)器,支持 SSL和 Basic Authentication,速度非???其作者使它至少與 lighthttpd 和 AOLserver 一樣快。它是用不到 100 行 Tcl 編寫(xiě)的。 Python 是幾種適合不尋常環(huán)境的 Web 服務(wù)器的實(shí)現(xiàn)語(yǔ)言,這些 Web 服務(wù)器包括: cdServer 是一個(gè)小型的、用 Python 編寫(xiě)的 HTTP 服務(wù)器,它“被設(shè)計(jì)用來(lái)提供來(lái)自 CD-ROM 的(靜態(tài))內(nèi)容” 。它在提供動(dòng)態(tài)內(nèi)容方面能力有限。我們有幾個(gè)涉及不受影響的“l(fā)ive CDs” 的項(xiàng)目,在這些項(xiàng)目中像 cdServer 之類的工具很關(guān)鍵。
21、edna,一款智能的用 Python 編寫(xiě)的 MP3 服務(wù)器,它是用 HTTP 實(shí)現(xiàn)的。 還有其他一些用 Perl 和其他不出名的語(yǔ)言編寫(xiě)的輕量級(jí) Web 服務(wù)器: Camlserv,用 ocaml 編寫(xiě)的一個(gè)完整的 Web 服務(wù)器,目標(biāo)是 “高度交互式的 Web 頁(yè)面”。它由幾千行 ocaml 編寫(xiě)而成,其中大部分代碼都與 MySQL和 HTML 的特殊處理有關(guān)。 dhttpd 用和 Apache 相同的格式記錄訪問(wèn)。它支持 CGI,并具有內(nèi)建的 Perl 解釋器、虛擬主機(jī)、IPv6、帶寬管理和安全性等方面的特性。 DNHTTPD 是用 Perl 編寫(xiě)的,用于 UNIX。它支持虛擬主機(jī)、SS
22、L 連接、CGI 等。 Jellybean 是用 Perl 編寫(xiě)的基于 HTTP 的 Perl Object Server。 lns.http 是一個(gè) Common LISP HTTP/1.1 Web 框架。 Mongrel 是用 Ruby編寫(xiě)的、用于 HTTP 的一個(gè)庫(kù)和服務(wù)器。 Nanoweb 是用 PHP編寫(xiě)的一款快速、健壯的 Web 服務(wù)器。它宣稱具有豐富的特性,包括完全遵從 HTTP/1.1、訪問(wèn)控制、身份驗(yàn)證、虛擬主機(jī)、SSL 兼容性等。 Naridesh 是用 Perl 編寫(xiě)的 Web 服務(wù)器。 OpenAngel 是用 Perl 編寫(xiě)的。它強(qiáng)調(diào)的重點(diǎn)是安全性。 Xavante 是用 Lua 編寫(xiě)的 HTTP/1.1 Web 服務(wù)器。 XSP 是用 C# 編寫(xiě)的,用于運(yùn)行 ASP.NET。 有時(shí)候您可能需要其他一些用 C
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 分類垃圾教學(xué)課件
- 中藥材種植市場(chǎng)拓展與農(nóng)業(yè)文化遺產(chǎn)保護(hù)利用考核試卷
- 政策法規(guī)應(yīng)對(duì)策略考核試卷
- 招標(biāo)采購(gòu)中的數(shù)據(jù)安全與隱私保護(hù)考核試卷
- 企業(yè)價(jià)值觀與企業(yè)文化制度完善考核試卷
- 寵物主人健康行為干預(yù)措施考核試卷
- 農(nóng)藥生產(chǎn)過(guò)程節(jié)能降耗技術(shù)考核試卷
- 重慶文職輔警考試試題及答案
- 客戶生命周期價(jià)值管理策略分析考核試卷
- 化學(xué)纖維在生物醫(yī)學(xué)工程中的創(chuàng)新應(yīng)用考核試卷
- 九宮格數(shù)獨(dú)題目
- 幼兒園小班交通安全主題PPT
- 國(guó)開(kāi)網(wǎng)電大 市場(chǎng)調(diào)查形成性考核1-3答案
- 建筑工程公司安全生產(chǎn)責(zé)任制度
- 被執(zhí)行人財(cái)產(chǎn)申報(bào)表
- 人教版五年級(jí)語(yǔ)文(下冊(cè))期末試卷(附答案)
- [北京]輸變電工程標(biāo)準(zhǔn)工藝應(yīng)用圖冊(cè)(圖文并茂)
- 信用修復(fù)申請(qǐng)書(shū)
- 深圳房地產(chǎn)開(kāi)發(fā)企業(yè)資質(zhì)申報(bào)表
- 美變出廠檢驗(yàn)記錄
- UPS電源施工方案
評(píng)論
0/150
提交評(píng)論