《簡易WEB服務(wù)器設(shè)計》文獻綜述
《《簡易WEB服務(wù)器設(shè)計》文獻綜述》由會員分享,可在線閱讀,更多相關(guān)《《簡易WEB服務(wù)器設(shè)計》文獻綜述(6頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、《簡易WEB服務(wù)器設(shè)計》文獻綜述 摘要 本文主要論述了WEB服務(wù)器的設(shè)計與研究,其中介紹了WEB服務(wù)器現(xiàn)況,WEB 服務(wù)器的的基本組成,包括服務(wù)器端和瀏覽器端,WEB系統(tǒng)的工作原理,服務(wù)器/瀏覽器的通信模式,以及用VC++和SOCKET完成web服務(wù)器基本功能:頁面訪問請求響應(yīng)、HTML文件的解析以及數(shù)據(jù)發(fā)送。著重介紹了分析請求和構(gòu)造響應(yīng)這兩項服務(wù)器與瀏覽器通信所必需的功能。同時,對軟件的界面設(shè)計、及界面的制作方法、系統(tǒng)托盤程序的制作以及程序編譯完成后的調(diào)試工作以及編程和軟件完成后各種相應(yīng)問題的解決也做了簡單的介紹,另外還對Socket規(guī)范的含義,以及socket各種類的組成和操作
2、函數(shù),本次設(shè)計的開發(fā)工具Visual C++ 6.0做了介紹。并對簡易WEB服務(wù)器的頁面設(shè)計,偵聽和響應(yīng)等功能模塊的設(shè)計以及具體代碼實現(xiàn)做了較為詳細的介紹。 關(guān)鍵詞:WEB服務(wù)器、WEB服務(wù)器端構(gòu)架、socket、VC++ Abstract This paper mainly talks about researching and designing on a simple web server. In this paper, I give an introduction On Web server status,WEB server of the basic compo
3、nents, include server and browser and how the web system working I also introduce how they communicate between web server and browser,and Completed basic functions of the web server with VC++ and SOCKET : In response to requests for visits to pages, HTML document analysis and data sent.introduction
4、Analysis focused on the request and to respond to these two tectonic server browser with the necessary communications functions.Meanwhile,introduce about software interface design,Interface methods,System tray production process and Compiling procedures after the completion of testing and Programmin
5、g and software after the completion of a variety of solutions.Then,What is WinSocket, how it is developing, how to write the codes with socket, how to use the develop tool Visual C++ 6.0 are related. Then I talk about how to design page and write the codes of listen and response function modules of
6、web server in detail.introduction Analysis focused on the request and to respond to these two tectonic server browser with the necessary communications functions. Keywords: Web server, WEB server architecture, socket,VC++ 如今,上網(wǎng)已成為最熱門話題,通過Internet,我們既能獲取信息又能發(fā)布信息,而迅速發(fā)展的Web技術(shù)更是給Internet應(yīng)用提供了一個
7、很好的發(fā)展方向。當(dāng)今的許多應(yīng)用都是基于web技術(shù)的,如電子商務(wù)、視頻會議、遠程醫(yī)療診斷等。 WWW 是 World Wide Web (環(huán)球信息網(wǎng))的縮寫,也可以簡稱為 Web,中文名字為“萬維網(wǎng)”。它起源于1989年3月,由歐洲量子物理實驗室 CERN(the European Laboratory for Particle Physics)所發(fā)展出來的主從結(jié)構(gòu)分布式超媒體系統(tǒng)。通過萬維網(wǎng),人們只要通過使用簡單的方法,就可以很迅速方便地取得豐富的信息資料。 由于用戶在通過 Web 瀏覽器訪問信息資源的過程中,無需再關(guān)心一些技術(shù)性的細節(jié),界面簡單容易操作。長期以來,人們只是通過傳統(tǒng)的媒體(如
8、電視、報紙、雜志和廣播等)獲得信息,但隨著計算機網(wǎng)絡(luò)的發(fā)展,人們想要獲取信息,已不再滿足于傳統(tǒng)媒體那種單方面?zhèn)鬏敽瞳@取的方式,而希望有一種主觀的選擇性。現(xiàn)在,網(wǎng)絡(luò)上提供各種類別的數(shù)據(jù)庫系統(tǒng),如文獻期刊、產(chǎn)業(yè)信息、氣象信息、論文檢索等等。由于計算機網(wǎng)絡(luò)的發(fā)展,信息的獲取變得非常及時、迅速和便捷。 到了1993年,WWW 的技術(shù)有了突破性的進展,它解決了遠程信息服務(wù)中的文字顯示、數(shù)據(jù)連接以及圖像傳遞的問題,使得 WWW 成為 Internet 上最為流行的信息傳播方式。 現(xiàn)在,Web 服務(wù)器成為 Internet 上最大的計算機群,可以說,Web 為 Internet 的普及邁出了開創(chuàng)性的一步
9、, WWW 采用的是客戶/服務(wù)器結(jié)構(gòu),其作用是整理和儲存各種WWW資源,并響應(yīng)客戶端軟件的請求,把客戶所需的資源傳送到Windows NT、UNIX 或 Linux 等平臺上。 迅速發(fā)展的Web技術(shù)給Internet應(yīng)用提供了個很好的發(fā)展方向。當(dāng)今的許多應(yīng)用都是基于web技術(shù)的,如電子商務(wù)、視頻會議、遠程醫(yī)療診斷等。在嵌入式系統(tǒng)的應(yīng)用中,由于HTMI 語言的標準統(tǒng)一性,只要在設(shè)備里建立一個微型web服務(wù)器,人們就可以使用現(xiàn)有的Web瀏覽器與該設(shè)備進行雙向交互、接收或發(fā)送信息。因此,針對微型web服務(wù)器的研究和應(yīng)用,具有重大的意義,它為我們管理、控制和監(jiān)測各種各樣的設(shè)備提供了一個很好的途徑一基
10、于Internet,也就是說,只要設(shè)備接入了Internet,我們就可以在世界上的任何地方十分方便地控制、操縱那些配備有微型Web服務(wù)器的設(shè)備。 目前在市場上有20到30種Web應(yīng)用服務(wù)器,每種服務(wù)器在實現(xiàn)對象組件支持、分布式計算、部署的速度和易用程度上采取了不同方式。 目前市場上主流Web服務(wù)器主要有以下幾種產(chǎn)品: 1.Apache,由SUN公司開發(fā)的Apache服務(wù)器可以運行在包括Linux等多種系統(tǒng)平臺之上。Apache支持許多特性,大部分通過編譯的模塊實現(xiàn),如很有用的URL重寫,定制日志文件以及過濾支持等。 2.Zeus Webserver3.3.8 服務(wù)器,Zeus服
11、務(wù)器在SMP (Symmetric Multi Processing的簡稱,意為對稱多處理系統(tǒng),內(nèi)有許多緊耦合多處理器,這種系統(tǒng)的最大特點就是共享所有資源) 環(huán)境下有優(yōu)秀的可伸縮性,并實現(xiàn)了常見的特性集合,如訪問控制、動態(tài)內(nèi)容產(chǎn)生和安全等。 3. iPlanet Enterprise Edition 4.1,Netscape公司開發(fā)的iPlanet具有現(xiàn)今高性能WEB服務(wù)器的特性,如具有很高的可靠性、可用性、可維護性,系統(tǒng)高度可擴展性等特點,相對其它WEB服務(wù)器iPlanet還提供更多的JAVA功能。 4.AOLserver 3.3.1 ,AOL公司開發(fā)的AOLserver 3.3.1是一
12、個多線程、可升級和擴展的WEB服務(wù)器。 5. Roxen WebServer 2.1.31,在Roxen中可以使用RXML語言生成動態(tài)網(wǎng)頁內(nèi)容。RXML是函數(shù)形式的服務(wù)器端XML腳本語言,它由Roxen服務(wù)器解析并執(zhí)行。 6. Jigsaw,它由WWW組織(W3C)開發(fā),W3C組織負責(zé)研究和規(guī)定網(wǎng)絡(luò)協(xié)議的標準(如HTTP)。它使用JAVA語言開發(fā),是成功的面向?qū)ο?、功能全面的服?wù)器。因為Jigsaw不受測試平臺的限制,所以Jigsaw是一個具有活力的、擁有無限潛能的優(yōu)秀WEB服務(wù)器。 在嵌入式系統(tǒng)的應(yīng)用中,由于HTMI 語言的標準統(tǒng)一性,只要在設(shè)備里建立一個微型web服務(wù)器,人們就可以使
13、用現(xiàn)有的Web瀏覽器與該設(shè)備進行雙向交互、接收或發(fā)送信息。它為我們管理、控制和監(jiān)測各種各樣的設(shè)備提供了一個很好的途徑,只要設(shè)備接入了Internet,我們就可以在世界上的任何地方十分方便地控制、操縱那些配備有微型Web服務(wù)器的設(shè)備。 在Internet上為了發(fā)布信息,用戶必須運行Web服務(wù)器程序。但現(xiàn)成的服務(wù)器程序有時候不能滿足所有人的要求,所以可以動手開發(fā)一個自己的Web服務(wù)器程序,其功能就可由設(shè)計者定制的功能和需求決定了。 Web瀏覽器通??梢允褂昧餍械腎E或者其它的瀏覽器。服務(wù)器端的TCP/IP協(xié)議棧是操作系統(tǒng)內(nèi)嵌的,其信息流符合HTTP協(xié)議。服務(wù)器中的HTTP引擎用來分析瀏覽器的請
14、求消息,并根據(jù)請求作出相應(yīng)的動作。這些動作包括向瀏覽器發(fā)送一些靜態(tài)頁面或調(diào)用一些應(yīng)用服務(wù)程序。對于服務(wù)器中的靜態(tài)web頁面,可以使用一些常用軟件如FrontPage等制作,以備Web服務(wù)器調(diào)用。而服務(wù)器中的應(yīng)用服務(wù)程序則用來擴展服務(wù)器所提供的服務(wù)。從圖l中可以看出,微型web服務(wù)器的核心就是:HTTP引擎。 HTTP協(xié)議是一種網(wǎng)絡(luò)應(yīng)用層的標準協(xié)議,Web瀏覽器和Web服務(wù)器之間的通信都是采用HTTP協(xié)議來實現(xiàn)的。因此只要是符合HTTP協(xié)議的通訊過程和數(shù)據(jù)內(nèi)容,就可以使用瀏覽器作為客戶端進行連接和傳遞。 要完成Web服務(wù),除了網(wǎng)絡(luò)通信鏈路的建立和拆除,之外至少還要有二方面的功能:
15、“分折請求” 和“構(gòu)造響應(yīng)”??蛻舳伺c服務(wù)器交換數(shù)據(jù)之前,首先用TCP/IP建立連接,客戶端向服務(wù)器請求數(shù)據(jù),服務(wù)器則向客戶端響應(yīng)并提供數(shù)據(jù).客戶端和服務(wù)器以HTTP協(xié)議進行請求和響應(yīng).服務(wù)器和客戶端只能為一次事務(wù)處理建立并維持連接,完成一次事務(wù)處理后便結(jié)束連接. 一般來說,Web服務(wù)器通常由以下幾個部分組成:(1)服務(wù)器初始化部分.這部分主要完成Web服務(wù)器的初始化工作,如建立守護進程、創(chuàng)建TCP套接字、綁定端口、將TCP套接字轉(zhuǎn)換成偵聽套接字,進入循環(huán)結(jié)構(gòu),等待接收用戶瀏覽器連接.(2)接收客戶端請求.由于客戶端請求以文本行的方式實現(xiàn),所以服務(wù)器一般也以文本行為單位接收.(3)解析客
16、戶端請求.這部分工作比較復(fù)雜,需要解析出請求的方法、URL目標、可選的查詢信息及表單信息.如果請求方法為HEAD,則簡單地返回響應(yīng)首部即可;如果方法是GET,則首先返回響應(yīng)首部,然后將客戶端請求的URL目標文件從服務(wù)器磁盤上讀出,再發(fā)送給客戶端;如果是POST,則比較麻煩,首先要調(diào)用相應(yīng)的CGI程序,然后將用戶表單信息傳給CGI程序,CGI程序根據(jù)表單內(nèi)容完成相應(yīng)的工作,并將結(jié)果數(shù)據(jù)返回.(4)發(fā)送響應(yīng)信息之后,關(guān)閉與客戶機的連接. 現(xiàn)代計算機利用操作系統(tǒng)在不同通信協(xié)議層次上提供的接口實現(xiàn)網(wǎng)絡(luò)進程安全通信,主要使用軟件工程的方法(分層次、分模塊等技術(shù))實現(xiàn)。作為網(wǎng)絡(luò)上公認的事實的通信標準,T
17、CP/IP協(xié)議成為現(xiàn)代計算機操作系統(tǒng)通過網(wǎng)絡(luò)編程實現(xiàn)網(wǎng)絡(luò)通信的重要部分。而WINSOCK就是服務(wù)器與協(xié)議間一個必不可少的橋梁,她建立一條可靠的、基于連接的通信接口,客戶機和服務(wù)器在該鏈接上傳輸數(shù)據(jù),客戶端發(fā)出請求,服務(wù)器監(jiān)聽來自客戶端的請求,并作出響應(yīng)服務(wù)。 Winsock 控件與Sockets完全兼容,是一個專門用于Windows網(wǎng)絡(luò)編程的Active X控件。它提供了訪問TCP和UDP網(wǎng)絡(luò)服務(wù)的方便途徑。 計算機網(wǎng)絡(luò)是由一系列網(wǎng)絡(luò)通信協(xié)議組成,其中的核心協(xié)議是傳輸層的TCP/ IP 和UDP 協(xié)議,TCP 是面向連接的,UDP 是無連接的,通信雙方都不保持對方的狀態(tài)。Socke
18、t 是建立在傳輸層協(xié)議(主要是TCP 和UDP) 上的一種套接字規(guī)范,最初是由美國加州Berkley 大學(xué)提出,它定義兩臺計算機間進行通信的規(guī)范,如果說兩臺計算機是利用一個“通道”進行通信,那么這個通道的兩端就是兩個套接字,套接字屏蔽了底層通信軟件和具體操作系統(tǒng)的差異,使得任何兩臺安裝了TCP 協(xié)議軟件和實現(xiàn)了套接字規(guī)范的計算機之間的通信成為可能。 在Windows 網(wǎng)絡(luò)編程中,套接字接口主要有3種類型:流式套接字,數(shù)據(jù)報套接字和原始套字。流式套接字定義了一種面向連接的服務(wù),實現(xiàn)了無差錯無重復(fù)的順序數(shù)據(jù)傳輸,無長度限制。數(shù)據(jù)報套接字接口定義了一種無連接的服務(wù),數(shù)據(jù)通過相互獨立的報文進行傳輸,
19、它是無序的,并且不能保證可靠。原始套接字允許對低層協(xié)議IP 或ICMP直接訪問,主要應(yīng)用于網(wǎng)絡(luò)協(xié)議的測試。在網(wǎng)絡(luò)應(yīng)用中使用最多的是客戶/ 服務(wù)器模式,主要是采用面向連接的TCP 協(xié)議,其典型的套接字接口調(diào)用流程如圖2 所示。程序中需要用到兩個重要的組件,ClientSocket 組件為客戶端組件。它是通信的請求方,主動與服務(wù)器端建立連接。ServerSocket 組件為服務(wù)器端組件,它是通信的響應(yīng)方,主要是監(jiān)聽以及被動接受客戶端的連接請求,并對請求進行回復(fù)。ServerSocket 組件可以同時接受一個或多個ClientSocket 組件的連接請求,并與每個ClientSocket組件建立單獨
20、的連接,進行單獨的通信。因此,一 個服務(wù)器端可以為多個客戶端服務(wù)。該程序包括一個服務(wù)器端程序和一個客戶端程序,其中客戶端程序可以放到多個計算機上運行,同時與服務(wù)器端進行連接通信。程序主要是解決兩個方面的問題,一是如何建立客戶端和服務(wù)器端的通信;二是當(dāng)有多個客戶端同時連接到服務(wù)器端時,服務(wù)器端如何識別每個客戶端。 圖2 Socket 通信過程示意 通過Socket, 軟件的實際運行效果證明這種編程方法簡單、可項量靠。通過WinSock可以實現(xiàn)不同計算機各種信息的相互傳輸及同機中不同進程之間的相互通信,還可實現(xiàn)聯(lián)網(wǎng)計算機間的遠程控制可以成功實現(xiàn)多個客戶端和服務(wù)器的通信,同時可以保證
21、一個客戶端的連接、通信或者是斷開的情況下都不影響其它客戶端的正常通信。 參考文獻 [1] 李大亮,曲波.嵌入式Web服務(wù)器的設(shè)計與實現(xiàn)[J].鞍山科技報,2004,27(2) [2] 羅惟,王萍.一個web服務(wù)器的設(shè)計[J].現(xiàn)代電子技術(shù),2003,157(14) [3] 楊陽. 基于URL的Web服務(wù)器數(shù)據(jù)訪問[J].網(wǎng)絡(luò)技術(shù),2003,(10) [4] 劉波濤,郭麥成. 微型WEB服務(wù)器的設(shè)計與實現(xiàn)[J].國外電子測量技, 2004, (1) [5] 賈立華,林碧英. 在超文本協(xié)議中實現(xiàn)會話的若干方法[J].現(xiàn)代電力, 2003, (2) [6] 盧成梁. 簡易WEB服務(wù)器應(yīng)答模塊設(shè)計與研究市場周刊[J]., 2005, (4) [7] 王茂林 賀富強,Socket 在局域網(wǎng)通信中的應(yīng)用[J].2006,(5) [8] 周小松,朱雄軍,基于TCP協(xié)議的Socket網(wǎng)絡(luò)編程模式部署及實現(xiàn),軟件技術(shù)研究[J],2006(9) [9] 詠剛,Web開發(fā)技術(shù)發(fā)展史話
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 4S店經(jīng)營管理
- 無線電測向基礎(chǔ)知識分析解析課件
- 醫(yī)學(xué)生崗前培訓(xùn)培訓(xùn)ppt課件
- 晚期非小細胞肺癌診療現(xiàn)狀課件
- 小學(xué)數(shù)學(xué)異分母分數(shù)加減法練習(xí)課1課件
- aab_學(xué)校經(jīng)營品質(zhì)管理策略(ppt 42)
- 齒輪油泵零件圖課件
- 危急值幻燈課件20138
- LanSecS內(nèi)網(wǎng)安全管理系統(tǒng)產(chǎn)品介紹
- 高中歷史必修一第5課課件
- 中學(xué)生文明禮儀主題班會ppt課件
- 禽沙門氏菌病專家講座
- 護培訓(xùn)肝性腦病護理講課件
- 南平建甌下水南片區(qū)改造課件
- 牛津譯林版英語九上9AUnit2Integratedskills課件