《《簡易WEB服務(wù)器設(shè)計》開題報告》由會員分享,可在線閱讀,更多相關(guān)《《簡易WEB服務(wù)器設(shè)計》開題報告(5頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、簡易WEB服務(wù)器設(shè)計
開題報告
班級(學(xué)號) 姓名
指導(dǎo)老師
一、綜述
如今,上網(wǎng)已成為最熱門話題,通過Internet,我們既能獲得信息又能發(fā)布信息,而快速發(fā)展的Web技術(shù)更是給Internet應(yīng)用供應(yīng)了一個很好的發(fā)展方向。當(dāng)今的很多應(yīng)用都是基于web技術(shù)的,如電子商務(wù)、視頻會議、遠(yuǎn)程醫(yī)療診斷等。
WWW 是 World Wide Web (環(huán)球信息網(wǎng))的縮寫,也可以簡稱為 Web,中文名字為“萬維網(wǎng)”。它起源于1989年3月,由歐洲量子物理試驗室 CERN(the European Laboratory for Particle Physics)
2、所發(fā)展出來的主從結(jié)構(gòu)分布式超媒體系統(tǒng)。通過萬維網(wǎng),人們只要通過運(yùn)用簡潔的方法,就可以很快速便利地取得豐富的信息資料。 由于用戶在通過 Web 閱讀器訪問信息資源的過程中,無需再關(guān)切一些技術(shù)性的細(xì)微環(huán)節(jié),界面簡潔簡潔操作。長期以來,人們只是通過傳統(tǒng)的媒體(如電視、報紙、雜志和廣播等)獲得信息,但隨著計算機(jī)網(wǎng)絡(luò)的發(fā)展,人們想要獲得信息,已不再滿意于傳統(tǒng)媒體那種單方面?zhèn)鬏敽瞳@得的方式,而希望有一種主觀的選擇性?,F(xiàn)在,網(wǎng)絡(luò)上供應(yīng)各種類別的數(shù)據(jù)庫系統(tǒng),如文獻(xiàn)期刊、產(chǎn)業(yè)信息、氣象信息、論文檢索等等。由于計算機(jī)網(wǎng)絡(luò)的發(fā)展,信息的獲得變得特別剛好、快速和便捷。
到了1993年,WWW 的技術(shù)有了突破性的進(jìn)
3、展,它解決了遠(yuǎn)程信息服務(wù)中的文字顯示、數(shù)據(jù)連接以及圖像傳遞的問題,使得 WWW 成為 Internet 上最為流行的信息傳播方式。 現(xiàn)在,Web 服務(wù)器成為 Internet 上最大的計算機(jī)群,可以說,Web 為 Internet 的普及邁出了開創(chuàng)性的一步, WWW 采納的是客戶/服務(wù)器結(jié)構(gòu),其作用是整理和儲存各種WWW資源,并響應(yīng)客戶端軟件的懇求,把客戶所需的資源傳送到Windows NT、UNIX 或 Linux 等平臺上。
下圖顯示了星型和拓?fù)涞木W(wǎng)絡(luò)連接:
目前在市場上有20到30種Web應(yīng)用服務(wù)器,每種服務(wù)器在實現(xiàn)對象組件支持、?分布式計算、部署的速度和易用程度上實行了不同方式
4、。?
???? 目前市場上主流Web服務(wù)器主要有以下幾種產(chǎn)品:
1.Apache,由SUN公司開發(fā)的Apache服務(wù)器可以運(yùn)行在包括Linux等多種系統(tǒng)平臺之上。Apache支持很多特性,大部分通過編譯的模塊實現(xiàn),如很有用的URL重寫,定制日志文件以及過濾支持等。
2.Zeus Webserver 服務(wù)器,Zeus服務(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 Ent
5、erprise Edition 4.1,Netscape公司開發(fā)的iPlanet具有現(xiàn)今高性能WEB服務(wù)器的特性,如具有很高的牢靠性、可用性、可維護(hù)性,系統(tǒng)高度可擴(kuò)展性等特點,相對其它WEB服務(wù)器iPlanet還供應(yīng)更多的JAVA功能。
4.AOLserver ,AOL公司開發(fā)的AOLserver 是一個多線程、可升級和擴(kuò)展的WEB服務(wù)器。
5. Roxen WebServer ,在Roxen中可以運(yùn)用RXML語言生成動態(tài)網(wǎng)頁內(nèi)容。RXML是函數(shù)形式的服務(wù)器端XML腳本語言,它由Roxen服務(wù)器解析并執(zhí)行。
6. Jigsaw,它由WWW組織(W3C)開發(fā),W3C組織負(fù)責(zé)探討和規(guī)定網(wǎng)絡(luò)
6、協(xié)議的標(biāo)準(zhǔn)(如HTTP)。它運(yùn)用JAVA語言開發(fā),是勝利的面對對象、功能全面的服務(wù)器。因為Jigsaw不受測試平臺的限制,所以Jigsaw是一個具有活力的、擁有無限潛能的優(yōu)秀WEB服務(wù)器。
在嵌入式系統(tǒng)的應(yīng)用中,由于HTMI 語言的標(biāo)準(zhǔn)統(tǒng)一性,只要在設(shè)備里建立一個微型web服務(wù)器,人們就可以運(yùn)用現(xiàn)有的Web閱讀器與該設(shè)備進(jìn)行雙向交互、接收或發(fā)送信息。它為我們管理、限制和監(jiān)測各種各樣的設(shè)備供應(yīng)了一個很好的途徑,只要設(shè)備接入了Internet,我們就可以在世界上的任何地方特別便利地限制、操縱那些配備有微型Web服務(wù)器的設(shè)備。
在Internet上為了發(fā)布信息,用戶必需運(yùn)行Web服務(wù)器程序。但現(xiàn)
7、成的服務(wù)器程序有時候不能滿意全部人的要求,所以可以動手開發(fā)一個自己的Web服務(wù)器程序,其功能就可由設(shè)計者定制的功能和需求確定了。
二、選題依據(jù)
設(shè)計者工作在技術(shù)質(zhì)量監(jiān)督部門,主要從事管理和計量檢測工作。由于單位部門多,很多通知和材料須要經(jīng)過復(fù)印多次傳達(dá),造成很多不必要的麻煩,而單位又采納局域網(wǎng)設(shè)置,所以可以設(shè)計一個簡易的WEB服務(wù)器,用來下發(fā)通知,表格,文件等,并且以后可以依據(jù)需求進(jìn)一步改進(jìn),提高工作效率。
三、探討內(nèi)容
本次設(shè)計就是須要完成一個簡易的WEB服務(wù)器的設(shè)計,實現(xiàn)web服務(wù)器基本功能:頁面訪問懇求響應(yīng)、HTML文件的解析以及數(shù)據(jù)發(fā)送。所以在完成設(shè)計之前,必需先了解W
8、EB服務(wù)器設(shè)計的原理與結(jié)構(gòu)。
一個典型的微型Web服務(wù)器的結(jié)構(gòu)可以用圖l來描述:
Web閱讀器通??梢赃\(yùn)用流行的IE或者其它的閱讀器。服務(wù)器端的TCP/IP協(xié)議是操作系統(tǒng)內(nèi)嵌的,其信息流符合HTTP協(xié)議。服務(wù)器中的HTTP引擎用來分析閱讀器的懇求消息,并依據(jù)懇求做出相應(yīng)的動作。這些動作包括向閱讀器發(fā)送一些靜態(tài)頁面或調(diào)用一些應(yīng)用服務(wù)程序。對于服務(wù)器中的靜態(tài)web頁面,可以運(yùn)用一些常用軟件如FrontPage等制作,以備Web服務(wù)器調(diào)用。而服務(wù)器中的應(yīng)用服務(wù)程序則用來擴(kuò)展服務(wù)器所供應(yīng)的服務(wù)。從圖l中可以看出,微型web服務(wù)器的核心就是:HTTP引擎。
HTTP協(xié)議是一種網(wǎng)絡(luò)應(yīng)用層的標(biāo)準(zhǔn)協(xié)議,
9、Web閱讀器和Web服務(wù)器之間的通信都是采納HTTP協(xié)議來實現(xiàn)的。因此只要是符合HTTP協(xié)議的通訊過程和數(shù)據(jù)內(nèi)容,就可以運(yùn)用閱讀器作為客戶端進(jìn)行連接和傳遞。
要完成Web服務(wù),除了網(wǎng)絡(luò)通信鏈路的建立和拆除,之外至少還要有二方面的功能:“分折懇求” 和“構(gòu)造響應(yīng)”??蛻舳伺c服務(wù)器交換數(shù)據(jù)之前,首先用TCP/IP建立連接,客戶端向服務(wù)器懇求數(shù)據(jù),服務(wù)器則向客戶端響應(yīng)并供應(yīng)數(shù)據(jù).客戶端和服務(wù)器以HTTP協(xié)議進(jìn)行懇求和響應(yīng).服務(wù)器和客戶端只能為一次事務(wù)處理建立并維持連接,完成一次事務(wù)處理后便結(jié)束連接.
每一個客戶端向服務(wù)器發(fā)送懇求均以方法(Method)起先,后跟對象的URL.客戶端一般要在上述信
10、息中補(bǔ)充所采納HTTP協(xié)議的版本號,其后跟一個回車換行(CRLF)字符對.依據(jù)懇求狀況,閱讀器可能在CRLF后加上閱讀器按特殊的首部格式編碼的信息.完成后,閱讀器給懇求加上一個CRLF.還可依據(jù)懇求狀況,把一個實體(MIME格式文檔)加到整個懇求之后.一個HTTP方法事實上是一條吩咐,客戶端用它來說明其懇求目的,常用的有GET,HEAD和POST.
Web服務(wù)器收到懇求并解析之后,以一個HTTP響應(yīng)消息響應(yīng)客戶端的懇求.這個響應(yīng)消息通常以HTTP協(xié)議版本號起先,后面是三位狀態(tài)碼和一個緣由短語(Reason phrase),其后是一個CRLF,再后是懇求的信息(它被服務(wù)器以一種特殊的首部格式編
11、碼),最終,服務(wù)器加上一個CRLF.其后還可以有一個可選實體.狀態(tài)碼是三位數(shù),它描述了服務(wù)器理解和滿意懇求的狀況,緣由短語是狀態(tài)代碼的一個簡短說明.HTTP協(xié)議版本號、狀態(tài)代碼、緣由短語一起構(gòu)成了狀態(tài)行.
上述分析不難看出,接收客戶端懇求、解析客戶端懇求、響應(yīng)客戶端懇求、向客戶端回送懇求的結(jié)果是Web服務(wù)器所需完成的主要任務(wù),Web服務(wù)器程序代碼主要是為了完成這幾項任務(wù).
一般來說,Web服務(wù)器通常由以下幾個部分組成:(1)服務(wù)器初始化部分.這部分主要完成Web服務(wù)器的初始化工作,如建立守護(hù)進(jìn)程、創(chuàng)建TCP套接字、綁定端口、將TCP套接字轉(zhuǎn)換成偵聽套接字,進(jìn)入循環(huán)結(jié)構(gòu),等待接收用戶閱讀器連
12、接.(2)接收客戶端懇求.由于客戶端懇求以文本行的方式實現(xiàn),所以服務(wù)器一般也以文本行為單位接收.(3)解析客戶端懇求.這部分工作比較困難,須要解析出懇求的方法、URL目標(biāo)、可選的查詢信息及表單信息.假如懇求方法為HEAD,則簡潔地返回響應(yīng)首部即可;假如方法是GET,則首先返回響應(yīng)首部,然后將客戶端懇求的URL目標(biāo)文件從服務(wù)器磁盤上讀出,再發(fā)送給客戶端;假如是POST,則比較麻煩,首先要調(diào)用相應(yīng)的CGI程序,然后將用戶表單信息傳給CGI程序,CGI程序依據(jù)表單內(nèi)容完成相應(yīng)的工作,并將結(jié)果數(shù)據(jù)返回.(4)發(fā)送響應(yīng)信息之后,關(guān)閉與客戶機(jī)的連接.
四、實現(xiàn)方法及預(yù)期目標(biāo)
在了解WEB服務(wù)器
13、的基本結(jié)構(gòu)后,就須要更進(jìn)一步了解如何實現(xiàn)服務(wù)器與協(xié)議的連接,那就須要用到WINSOCK,這也是本次設(shè)計中的核心與重點。
Winsock是一個封裝了Winsock API函數(shù)的ActiveX控件,它可以被Microsoft
Access,Visual Basie,Visual C++,LabVIEW等軟件調(diào)用,實現(xiàn)網(wǎng)絡(luò)編程?,F(xiàn)代計算機(jī)利用操作系統(tǒng)在不同通信協(xié)議層次上供應(yīng)的接口實現(xiàn)網(wǎng)絡(luò)進(jìn)程平安通信,主要運(yùn)用軟件工程的方法(分層次、分模塊等技術(shù))實現(xiàn)。作為網(wǎng)絡(luò)上公認(rèn)的事實的通信標(biāo)準(zhǔn),TCP/IP協(xié)議成為現(xiàn)代計算機(jī)操作系統(tǒng)通過網(wǎng)絡(luò)編程實現(xiàn)網(wǎng)絡(luò)通信的重要部分。而WINSOCK就是服務(wù)器與協(xié)議間一個必
14、不行少的橋梁,它建立一條牢靠的、基于連接的通信接口用Winsock控件編寫網(wǎng)絡(luò)通信程序,不須要了解TCP/IP的詳細(xì)細(xì)微環(huán)節(jié)或調(diào)用底層Winsock API,通過設(shè)置Winsock控件的屬性和調(diào)用該控件的方法,可以很簡潔地連接到遠(yuǎn)程計一算機(jī)并進(jìn)行雙向的數(shù)據(jù)交換,客戶機(jī)和服務(wù)器在該鏈接上傳輸數(shù)據(jù),客戶端發(fā)出懇求,服務(wù)器監(jiān)聽來自客戶端的懇求,并做出響應(yīng)服務(wù)。
下圖就顯示了WINSOCK在服務(wù)器設(shè)計中的作用。
應(yīng)用程序1
應(yīng)用程序2
應(yīng)用程序n
網(wǎng)絡(luò)程序設(shè)計,如Winsock等
網(wǎng)絡(luò)通訊協(xié)議,如TCP/IP
物理通訊介質(zhì)
操作系統(tǒng),如Windows
通過WINSO
15、CK,利用VC++編程就能基本實現(xiàn)了簡易的WEB服務(wù)器的設(shè)計,并能在window系統(tǒng)下運(yùn)行良好的運(yùn)行,實現(xiàn)web服務(wù)器基本功能:頁面訪問懇求響應(yīng)、HTML文件的解析以及數(shù)據(jù)發(fā)送。
五、對進(jìn)度的詳細(xì)支配
第1~3周 起先調(diào)研以及搜集文獻(xiàn)資料,進(jìn)行外文文獻(xiàn)翻譯。
第4~6周 對要編譯的程序的語言進(jìn)行深化學(xué)習(xí),完成界面設(shè)計。
第7~8周 應(yīng)答模塊偵聽模塊設(shè)計。
第9~10周 服務(wù)器端以及客戶端操作 socket,完成設(shè)計的50%~60% 。
第11~12周 完成設(shè)計的收尾工作,調(diào)試系統(tǒng)。
第13~15周 全部完成本次設(shè)計,并完成畢業(yè)設(shè)計(論文)
16、初稿。
第15~16周 修改并打印畢業(yè)設(shè)計(論文),打算答辯。
第16~17周 畢業(yè)設(shè)計答辯。
六、參考文獻(xiàn)
[1] 李大亮,曲波.嵌入式Web服務(wù)器的設(shè)計與實現(xiàn)[J].鞍山科技報,2023,27(2)
[2] 羅惟,王萍.一個web服務(wù)器的設(shè)計[J].現(xiàn)代電子技術(shù),2023,157(14)
[3] 楊陽. 基于URL的Web服務(wù)器數(shù)據(jù)訪問[J].網(wǎng)絡(luò)技術(shù),2023,(10)
[4] 劉波濤,郭麥成. 微型WEB服務(wù)器的設(shè)計與實現(xiàn)[J].國外電子測量技, 2023, (1)
[5] 賈立華,林碧英. 在超文本協(xié)議中實現(xiàn)會話的若干方法[J].現(xiàn)代電力, 2023, (2
17、)
[6] 盧成梁. 簡易WEB服務(wù)器應(yīng)答模塊設(shè)計與探討市場周刊[J]., 2023, (4)
[7] 王茂林 賀富強(qiáng),Socket 在局域網(wǎng)通信中的應(yīng)用[J].2023,(5)
[8] 周小松,朱雄軍,基于TCP協(xié)議的Socket網(wǎng)絡(luò)編程模式部署及實現(xiàn),軟件技術(shù)探討[J],2023(9)
[9] 詠剛,Web開發(fā)技術(shù)發(fā)展史話
指導(dǎo)老師: 年 月 日
督導(dǎo)老師: 年 月 日
領(lǐng)導(dǎo)小組審查看法:
審查人簽字: 年 月 日