【正文】
s[J], Performance Evaluation. 1998, 33 (1): 526. [15] Zeadally . S, , , . Network application programming interfaces (APIs) performance on modity operating systems [J], Information and Software Technology 46(6), 2021(5): 397402. 浙江工商大學 (計算機與信息工程學院) 畢業(yè)設計(論文)評語表 姓名 韋杰 學號 02213107 專業(yè) 計算機科學與技術(shù) 論文題目 簡易 WEB 服務器研究 35 指導教師評語: 該生對 WEB 服務器的現(xiàn)狀了解的比較清晰,對一些技術(shù)要點也能把握到位。該生對 WEB 服務器及 B/S 結(jié)構(gòu)的工作原理了解的比較透徹。整個論文描述清晰,文章結(jié)構(gòu)合理。 該生在整個畢設過程中,態(tài)度好,求知欲較強。較好的完成了程序設計,通過測試,基本達到任務書中的設計目標和要求。不足之處就是欠缺對 WEB 服務器的更深層次的研究,對帶參數(shù)及腳本的請求 和解析要求不夠深入,在今后需要在這方面加強鍛煉。 指導教師簽字: 年 月 日 注:本表由指導教師填好相應的欄目后與學生畢業(yè)設計(論文)一起送交學院。 浙江工商大學 畢業(yè)設計(論文)文獻綜述 等級 36 學 院:計算機與信息工程學院 專 業(yè): 計算機科學與技術(shù) 學生姓名: 韋 杰 學 號: 02213107 指導教師: 施寒瀟 二 00 六 年 四 月 《簡易 WEB 服務器研究》文獻綜述 【 摘要 】 隨著 Inter的發(fā)展, WEB 技術(shù)已在當今的互聯(lián)網(wǎng)技術(shù)中得到了最廣泛的應用,許 多 應 用都是基于 WEB 技 術(shù) 的 , 如 電 子商 務 、 視頻會議 、 遠 程 醫(yī)療診斷 等。不可否認, 一個 WEB 網(wǎng)站的成敗主要在于它所提供的內(nèi)容和功能 ,而 為 這些內(nèi)容和功能 提供技術(shù)支持的WEB 服務器 在整個 互聯(lián)網(wǎng) 體系中同樣起著關(guān)鍵性的作用 。本文將對當今主流的 WEB服務器的功能及關(guān)鍵技術(shù)作一些介紹,再對如何設計一個基于 協(xié)議的具有 WEB服務器基本功能的簡易 服務器進行一些探討。 37 【 關(guān)鍵詞 】 WEB服務器 、 SOCKETS、 HTTP協(xié)議 Research of Simple Web Server Abstract: With the progress of Inter, web technology has been widely used all over the world. A lot of applications are base on web technology. Such as EBusiness, video conference, longdistance medical treatment. It’s no doubt that a excellent web site consists in its contents and functions, but the web servers which providing technology supports have the same status in the whole inter system. In this article, we will introduce some functions and key technologies of popular web servers, and then we will discuss how to design a simple web server which having web server’s basic functions and base on protocol. Keywords: WEB Server, Sockets, HTTP Protocol 1 引言 服務器是指在網(wǎng)絡環(huán)境下運行 相應 的 應用軟 件,為網(wǎng)上用戶提供共享信息資源和服務的設備。服務器是網(wǎng)絡的中樞和信息化的核心,具有高性能,高可靠性,高可用性, I/O 吞吐能力強,存儲容量大,連網(wǎng)和網(wǎng)絡管理能力強等特點?;ヂ?lián)網(wǎng)應用中服務器無處不在,它們完成不同的任務,提供不同的功能服務。典型的服務器有 : Web 服務器,數(shù)據(jù)庫服務器,F(xiàn)tp/Gopher 服務器, Tel/WAIS 服務器,代理服務器, IRC 服務器,聊天服務器,新聞服務器,郵件服務器,音頻 /視頻服務器和應用服務器等。 本文主要介紹 web 服務器。 Web 的產(chǎn)生和發(fā)展 最早的網(wǎng)絡系統(tǒng)是簡單的主機 PC終端系統(tǒng) , 所有的應用程序都由主機完成 , 終端只是運行服務器上相應的程序。 PC 時代的到來 , 使計算機網(wǎng)絡和計算機應用得到了很大的發(fā)展 ,由于 PC 價格的不斷下降和性能的不斷提高 , 面向終端的大型主機的應用領(lǐng)域越來越少。特 38 別是網(wǎng)絡操作系統(tǒng)如 NetWare和 Windows NT 的興起 , 以及網(wǎng)絡數(shù)據(jù)庫系統(tǒng)的出現(xiàn) , 開辟了網(wǎng)絡應用的新模式 —— C/S(Client/Server) 模式。 C/S 模式是一種兩層結(jié)構(gòu)的系統(tǒng) , 第一層是在客戶機上處理表示邏輯與業(yè)務邏輯 , 第二層則是通過 網(wǎng)絡運行的數(shù)據(jù)庫等服務器系統(tǒng)。C/S 模式將事務分開進行處理 , 實現(xiàn)了網(wǎng)絡的分布式計算 , 幫助用戶實現(xiàn)了局域網(wǎng)建設 , 完善了企業(yè)內(nèi)部業(yè)務管理 , 提高了工作效率。然而 C/S 模式在系統(tǒng)的集成與維護、操作界面一致性、系統(tǒng)的擴展性等方面都存在明顯的局限性 , 所以就像主機 PC終端式網(wǎng)絡被 C/S 模式的網(wǎng)絡系統(tǒng)所取代一樣 , 在 Inter/Intra 技術(shù)環(huán)境里 , 也會出現(xiàn)更新的系統(tǒng)模式。 基于 Web 技術(shù)的 Inter/Intra 近年來已經(jīng)得到了廣泛的應用 , Intra是以 TCP/IP 協(xié)議為基礎(chǔ)、以 Web 為核心的企業(yè)內(nèi)部網(wǎng) , 用戶通過低成本、簡單易用的客戶瀏覽器就能隨時隨地到企業(yè)的 Web 站點上查閱自己所需的數(shù)據(jù)。瀏覽器客戶端操作界面的一致性避免了C/S 模式客戶端程序的多樣性 , 而服務器端的開放和基于標準的連接方案使企業(yè)很方便地通過 Inter 同外界聯(lián)系 。同時 , Web信息動態(tài)的、交互式的發(fā)布方式從根本上改變了企業(yè)的服務質(zhì)量 , 增加了企業(yè)的商業(yè)機會。在三層結(jié)構(gòu)的 Web 技術(shù)中 , 數(shù)據(jù)庫不是直接向每個客戶機提供服務 , 而是與 Web 服務器溝通 , 實現(xiàn)了對客戶信息服務的動態(tài)性、實時性和交互性。這種功能是通過諸如 CGI、 ISAPI、 NSAPI 以及 Java創(chuàng)建的服務器應用程序?qū)崿F(xiàn)的。 什么是 Web 服務器 Web 技術(shù)的獨特之處是采用超鏈接和多媒體信息。 Web 服務器使用超文本標記語言(HTML Hyper Text Marked Language) 描述網(wǎng)絡的資源 , 創(chuàng)建網(wǎng)頁 , 以供 Web 瀏覽器閱讀。HTML 文檔的特點是交互性。不管是一般文本還是圖形 , 都能通過文擋中的鏈接連接到服務器上的其他文檔 , 從而使客戶快速地搜尋他們想要的資料。 HTML 網(wǎng)頁還可提供表單供用戶填寫并通過服務器應用程序提交給數(shù)據(jù)庫。這種 數(shù)據(jù)庫一般是支持多媒體數(shù)據(jù)類型的。 Web 瀏覽器 (Web Browser) 是一個用于文檔檢索和顯示的客戶應用程序 , 并通過超文本傳輸協(xié)議 HTTP(Hyper Text Transfer Protocol) 與 Web 服務器相連。通用的、低成本的瀏覽器節(jié)省了兩層結(jié)構(gòu)的 C/S 模式客戶端軟件的開發(fā)和維護費用。目前 , 流行的 Inter Explorer 和Netscape Navigator 除提供基本的文檔檢索、顯示和導航特性外 , 還支持 HT2ML 的高級顯示 以及 ActiveX、 Java 、 JavaScript 等特性。 Web 服務器的工作原理 一般在 Web 頁面處理中大致可分為三個步驟,第一步, Web 瀏覽器向一個特定的服務器發(fā)出 Web 頁面請求;第二步, Web 服務器接收到 Web 頁面請求后,尋找所請求的 Web頁面,并將所請求的 Web 頁面?zhèn)魉徒o Web 瀏覽器;第三步, Web 瀏覽器接收到所請求的Web 頁面,并將它顯示出來。如圖 。 39 40 2 當前主流 web 服務器 Apache 到目前為止, Apache 仍然是最偉大的全能選手,也許它有些過于龐大、歷史悠久,但是其優(yōu)秀的性能和大量 用戶群,它應該會有更好的發(fā)展。就它靈活性和豐富的特性功能而言, Apache 相對于這里測試的其他 Web 服務器來說可以說是 Web 服務器的標準。 Apache 的主配置文件為純文本格式的 ,隨著Apache 版本的發(fā)展,其他一些配置文件則逐漸消亡,趨向于使用單一的配置文件 來存放所有的配置指令,如客戶訪問信息、記錄認證信息和虛擬服務器等等。 Apache 配置選項采用的是指令模式,配置指令設定各種參數(shù)的值,例如: DocumentRoot 設置服務器 Web 頁面的根目錄。你也可以靈活地設置多個基于 IP 或基于域名的虛擬 Web 服務器,這些 Web 虛擬服務器可以各自定義獨立的 DocumentRoot 配置指令。而 Load Module 指令則用來指定加載不同的模塊來實現(xiàn)對 Apache 服務器功能的擴充。這些新功能大多是提供服務器端對腳本技術(shù)的支 持,比如 Perl、 PHP 等。 Apache 結(jié)合使用 ApacheJServ 可以實現(xiàn)對 Java servlets及 JSP 的支持。 Inter Information Server (IIS) Microsoft IIS 是允許在公共 Intra或 Inter上發(fā)布信息的 Web服務器。 Inter Information Server通過使用超文本傳輸協(xié)議 (HTTP)傳輸信息。還可配置 Inter Information Web 瀏覽器 Web 服務器 請求服務 ………… ………… . Inter 或 Intra 圖 Web 工作原理 服務器 客戶機 41 Server 以提供文件傳輸協(xié)議 (FTP)和 gopher服務。 FTP服務允許用戶從 Web節(jié)點或到 Web節(jié)點傳送文件。 gopher服務為定位文檔使用菜單驅(qū)動協(xié)議。 HTTP協(xié)議已經(jīng)盡可能地代替了 gopher協(xié)議。 Inter Information Server提供了一個圖形界面的管理工具,稱為 Inter服務管理器,可用于 監(jiān)視配置和控制 Inter服務。 Inter服務管理器處于中心位置,從而可控制組織中所有運行 Inter Information Server的計算機。可在運行 Windows NT Workstation或 Windows NT Server以及通過網(wǎng)絡連接到 Web服務器的計算機上運行 Inter服務管理器。 Tomcat Tomcat是一個免費的開源的 Serlvet容器,它是 Apache基金會的 Jakarta項目中的一個核心項目,由 Apache, Sun和其它一些公司及個人共同開發(fā)而 成。由于有了 Sun的參與和支持,最新的 Servlet和 Jsp規(guī)范總能在 Tomcat中得到體現(xiàn)。 從 , Tomcat采用了新的 Servlet容器: Catalina,完整的實現(xiàn)了 。由于 Java的跨平臺特性,基于 Java的 Tomcat也具有跨平臺性。 Tomcat不僅僅是一個 Servlet容器,它也具有傳統(tǒng)的 Web服務器的功能:處理 Html頁面。但是與 Apache相比,它的處理靜態(tài) Html的能力就不如 Apache。我們可以將 Tomcat和 Apache集成到一塊 ,讓 Apache處理靜態(tài) Html,而 Tomcat處理 Jsp和 Servlet。這種集成只需要修改一下 Apache和 Tomcat的配置文件即可。 基于 Tomcat的 開發(fā)其實主要是 Jsp和 Servlet的開發(fā),開發(fā) Jsp和 Servlet非常簡單,你可以用普通的文本編輯器或者 IDE,然后將其打包成 WAR即可。我們這里要提到另外一個工具Ant, Ant也是 Jakarta中的一個子項目,它所實現(xiàn)的功能類似于 Unix中的 make。你需要寫一 個,然后運行 Ant就可以完成 xml文件中定義的工作,這個工具 對于一個大的應用來說非常好,我們只需在 xml中寫很少的東西就可以將其編譯并打包成 WAR。事實上,在很多應用服務器的發(fā)布中都包含了 Ant。另外,在 ,可以利用標簽庫實現(xiàn) Java代碼與 Html文件的分離,使 Jsp的維護更方便。 Tomcat也可以與其它一些軟件集成起來實現(xiàn)更多的功能。如與上面提到的 JBoss集成起來開發(fā) EJB,與 Cocoon( Apache的另外一個項目)集成起來開發(fā)基于