




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