嵌入式web服務器畢業(yè)論文_第1頁
已閱讀1頁,還剩45頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  嵌入式WEB服務器</b></p><p><b>  摘 要</b></p><p>  隨著計算機、網(wǎng)絡通信和Internet 技術的飛速發(fā)展和不斷進步,嵌入式系統(tǒng)在家庭和工業(yè)應用越來越廣泛。如何將嵌入式系統(tǒng)和工業(yè)控制系統(tǒng)接入Internet,綜合利用嵌入式系統(tǒng)資源,實現(xiàn)嵌入式系統(tǒng)的遠程管理和控制,已成為倍受

2、關注的研究課題,而實現(xiàn)嵌入式系統(tǒng)的網(wǎng)絡化則成為嵌入式系統(tǒng)的發(fā)展趨勢。</p><p>  嵌入式Web在網(wǎng)絡視頻監(jiān)控系統(tǒng)、電力系統(tǒng)的遠程監(jiān)測與故障診斷、工業(yè)自動化系統(tǒng)中設備的保護和控制、智能小區(qū)及智能家電燈諸多領域都有良好的應用,為人們管理、控制和監(jiān)測各種各樣的設備提供了一個很好的途徑。因此,對嵌入式Web服務器的研究具有重大的意義。 </p><p>  本文首先介紹了嵌入式Web系統(tǒng)的

3、基本概念、歷史和發(fā)展狀況,同時闡述了設計及實現(xiàn)嵌入式Web服務器的關鍵技術和相關的理論基礎。對嵌入式Web服務器的相關理論做了重點分析,最后做出實驗,完成了基于ARM平臺的簡單嵌入式Web服務器的實現(xiàn),為嵌入式Web服務器開發(fā)人員提供了必要了理論和實踐基礎。</p><p>  關鍵詞:嵌入式;ARM;Web服務器;Socket;Internet</p><p>  The embedde

4、d WEB server</p><p><b>  ABSTRACT</b></p><p>  With the rapid development and advances of computers, network communications and Internet technology, the applications of the embedded

5、systems in the home and industrial are more and more extensive. How to make the embedded systems and industrial control system access to Internet, comprehensive make use of resources of embedded systems, realization the

6、embedded systems of remote management and control, has become times be subjected to concern of research topic, and the realization of networked e</p><p>  Embedded Web in the network video monitoring system,

7、 remote power system monitoring and fault diagnosis, industrial automation system protection and control devices, smart appliances and smart residential area of lights have a good number of applications, which for people

8、 to manage, control and monitoring of a variety of equipment types provided a good way. Therefore, the study of embedded Web server has the meaning of great significance.</p><p>  This article first introduc

9、ed the embedded Web system’s basic concept, the history and the development condition, simultaneously elaborated design and realizes the embedded Web server's key technologies and the correlation theories foundation.

10、 Here it makes a selective analysis to the embedded Web server's correlation theories, finally make the experiment done, and complete the realization based on ARM platform simple embedded Web server, which has provid

11、ed essential theory and practice foundati</p><p>  Key words: Embedded ;ARM ;Web server ;Socket; Internet</p><p><b>  目錄</b></p><p>  嵌入式WEB服務器I</p><p>  T

12、he embedded WEB serverII</p><p><b>  第1章 緒論1</b></p><p>  1.1 課題的研究意義1</p><p>  1.2 國內(nèi)外研究現(xiàn)狀1</p><p>  1.3 論文研究內(nèi)容3</p><p>  第2章 相關理論與知識4&l

13、t;/p><p>  2.1 嵌入式Web服務器的硬件構成4</p><p>  2.1.1金牛開發(fā)板4</p><p>  2.1.2CPU芯片6</p><p>  2.1.3以太網(wǎng)控制芯片6</p><p>  2.2嵌入式Web服務器的軟件構成7</p><p>  2.3CGI技

14、術8</p><p>  2.3.1CGI概述8</p><p>  2.3..2CGI工作原理8</p><p>  2.4開發(fā)工具介紹9</p><p>  2.4.1Keil介紹9</p><p>  2.4.2Keil綜述10</p><p>  2.5本章小結10<

15、/p><p>  第3章 嵌入式WEB服務器的分析11</p><p>  3.1 嵌入式Web技術11</p><p>  3.2嵌入式Web服務器的應用12</p><p>  3.2.1 在網(wǎng)絡配置和監(jiān)控方面的應用12</p><p>  3.2.2 在Internet方面的應用12</p>

16、<p>  3.3 嵌入式Internet技術的應用前景13</p><p>  3.4嵌入式Web服務器中TCP/IP棧的實現(xiàn)14</p><p>  3.4.1嵌入式TCP/IP協(xié)議棧概述14</p><p>  3.4.2 ARP協(xié)議實現(xiàn)14</p><p>  3.4.3 IP協(xié)議實現(xiàn)15</p>

17、<p>  3.4..4ICMP協(xié)議實現(xiàn)15</p><p>  3.4.5TCP協(xié)議實現(xiàn)15</p><p>  3.5 協(xié)議標準16</p><p>  3.6 超文本傳輸協(xié)議(HTTP)16</p><p>  3.6.1 HTTP協(xié)議簡介16</p><p>  3.6.2 HTTP協(xié)議工作

18、過程18</p><p>  3.6.3 HTTP協(xié)議信息交換的實現(xiàn)19</p><p>  3.6.4 HTTP訪問的常見響應狀態(tài)20</p><p>  3.7 嵌入式Web服務器實現(xiàn)方法20</p><p>  3.8本章小結21</p><p>  第4章 簡單的嵌入式Web服務器的實現(xiàn)22<

19、/p><p>  4.1 需求分析與設計22</p><p>  4.1.1 設計總體需求說明22</p><p>  4.1.2硬件的系統(tǒng)框架圖22</p><p>  4.1.3 軟件的數(shù)據(jù)處理流程23</p><p>  4.2 程序設計與實現(xiàn)24</p><p>  4.2.1 主

20、程序設計24</p><p>  4.2.2 網(wǎng)絡連接設計25</p><p>  4.2.3 CGI網(wǎng)頁的設計29</p><p>  4.2.4 協(xié)議的設計31</p><p>  4.3 程序編譯、運行及測試33</p><p>  4.3.1 編譯應用程序33</p><p>

21、;  4.3.2 下載調(diào)試34</p><p>  4.3.3 本機測試35</p><p>  4.4 本章小結36</p><p><b>  結 論37</b></p><p><b>  參考文獻38</b></p><p><b>  致 謝

22、39</b></p><p><b>  第1章 緒論 </b></p><p>  1.1 課題的研究意義</p><p>  Internet的迅猛發(fā)展,傳統(tǒng)的Client/server體系結構(客戶機/服務器),漸漸的在某些方面顯示出它的局限性,Browser/server結構(瀏覽器/服務器)的出現(xiàn)恰恰彌補了這種缺陷。B

23、/S方式已成為一種時尚,大部分網(wǎng)絡應用系統(tǒng)都是以這種B/S方式與網(wǎng)絡用戶交換信息。B/S的基礎是客戶端要有一個瀏覽器程序,服務器端要有一個與之對應的Web服務器。顯然,Web服務器在B/S方式下起著決定性的作用,因此,一般互聯(lián)網(wǎng)站都采用功能強大的通用Web服務器。</p><p>  隨著網(wǎng)絡各個核心部分業(yè)務量的提高,其訪問量和數(shù)據(jù)流量快速增長,處理能力和計算強度也相應增大,使得單一設備根本無法承擔,而且許多企業(yè)

24、級應用系統(tǒng)的應用請求具有突發(fā)性和緊急性的特點,當應用訪問急劇上升時,容易造成網(wǎng)絡瓶頸。解決這一問題的辦法是采用多臺嵌入式Web服務器為一個應用服務,集群負載均衡機制就是為解決多個網(wǎng)絡設備之間實現(xiàn)合理的業(yè)務量分配而提出的。</p><p>  1.2 國內(nèi)外研究現(xiàn)狀</p><p>  中國的嵌入式系統(tǒng)開發(fā)走過了二十多年的歷程,有超過數(shù)十萬名從事開發(fā)應用的工程師,但大多數(shù)以上是幾個人的小組以

25、孤軍奮戰(zhàn)的封閉方式開發(fā)幾乎不可重用的軟件。今天面對的是嵌入式系統(tǒng)工業(yè)化的潮流,如果不能認識到嵌入式軟件必須以工業(yè)化的方式生產(chǎn)開發(fā),不理解在短時間內(nèi)裝配集成“數(shù)百人/年”的嵌入式產(chǎn)品,那么將失去更多的上游產(chǎn)品的市場機遇。</p><p>  嵌入式軟件方面逐漸形成了系統(tǒng)軟件、應用軟件的架構。國際上用于信息電器的嵌入式操作系統(tǒng)有40種左右。其中,國外涌現(xiàn)了一些著名的嵌入式操作系統(tǒng),如:Vxworks、pSOS、Win

26、CE、RTEK、palmOS、EpOC、QNX、LynxOS、DSPhnux等。其中Vx/Orks是目前嵌入式系統(tǒng)領域中使用最廣泛、市場占有率最高的系統(tǒng):WinCE是一種32位的多任務操作系統(tǒng),可以移植,能夠開發(fā)多種企業(yè)和客戶類設備,是微軟公司的“維納斯計劃”的核心:3COM公司的Palm0S在PDA市場上占有很大的市場份額,它有開放的操作系統(tǒng)應用程序接口(API),開發(fā)商可以根據(jù)需要自行開發(fā)所需要的應用程序。</p>&

27、lt;p>  這些商業(yè)性嵌入式系統(tǒng),價格昂貴,而且每個系統(tǒng)上的應用軟件與其它系統(tǒng)很難兼容。并且,由于這種封閉性還導致了商業(yè)性嵌入式系統(tǒng)在對各種設備的支</p><p>  持方面存在很大的問題,使得對它們的軟件移植變得很困難。這時Linux操作系統(tǒng)適時地出現(xiàn)了,它的源代碼公平,并有非常豐富的文檔。Linux的出現(xiàn),打破了微軟在PC操作系統(tǒng)上的長期壟斷地位,使得用戶在選用操作系統(tǒng)時有了更多的選擇。目前我國開發(fā)

28、的主要產(chǎn)品有中科院系統(tǒng)的女媧Hopen、桑夏2000、Delta0.5、中科院紅旗Linux,深圳藍點Linux,北京科銀京成(原電子科大的)CRTOS等?!爸袊鳯inux產(chǎn)業(yè)就像90多度的水”,它的應用市場不斷擴大,應用領域已擴大到政府、金融、電信、教育、交通等行業(yè)及各種數(shù)字設備領域。</p><p>  國內(nèi)外有大量嵌入式應用軟件已廣泛用于各類嵌入式系統(tǒng)中。大有國內(nèi)緊跟國外趨勢的形勢。但是對于嵌入式Web服務

29、器方面的研究國內(nèi)現(xiàn)狀不容樂觀,目前國外的相關研究相對多些。如林C/IP研究項目,它是一個為微控制器和嵌入式系統(tǒng)而設計的小型TCP/IP協(xié)議棧:又如CMX公司的MieroNetTCP/IP,它是為8位或16位微處理器而設計的,支持大部分的標準協(xié)議,連接方式有以太網(wǎng)連接、撥號連接和直接連接方式。而國內(nèi)也相應提出了Webito協(xié)議標準,但是相對滯后,缺少具體的工程實現(xiàn)方面的研究和具體產(chǎn)品的開發(fā)。</p><p>  應

30、用方面國內(nèi)外基本相近。目前都是主要應用于各種計算機網(wǎng)絡設備的配置與監(jiān)控方面。有些公司己經(jīng)推出了多種以不同方式連接Internet的網(wǎng)絡化儀器和設備,例如Agileni公司研制出了具有Web瀏覽器遠程接入功能的邏輯分析儀:Cisco公司己開始銷售具備Web管理界面的交換機等。但是隨著這一技術的成熟與發(fā)展,加之這一技術的優(yōu)點,目前的文獻大都預見:這一技術必將廣泛的應用于其它領域。</p><p>  面對國內(nèi)外嵌入式

31、Web服務器技術發(fā)展的差距,考慮到其廣泛的應用前景,這一技術的研究和開發(fā)具有一定的迫切性和必要性。網(wǎng)絡流量的爆炸似的增加,使得嵌入式Web服務器必須得面對不斷增加的負載壓力,將過去單一的服務器模式擴充為多服務器模式,用多臺計算機來協(xié)作完成本來由一臺服務器完成的功能,這種技術可以顯著提高服務器的總體性能,并且具有良好的可擴展性與高可靠性。由于集群系統(tǒng)的優(yōu)越性能,國內(nèi)外各大研究機構及企業(yè)都對集群的研究與應用方面進行了探索。</p>

32、;<p>  美國DEC公司開發(fā)的VMSeluster系統(tǒng)開發(fā)最早,技術也較成熟,應用也很廣泛,但由于VMS操作系統(tǒng)只能在DEC公司的VAX系列和AIPha系列服務器上運行,VMScluster的應用受到很大限制。</p><p>  Platform公司開發(fā)的高可用性集群系統(tǒng)LSF提供了分布式集群系統(tǒng)的解決方案,通過將物理上分離的多個集群連接在一起使多個同構或異構的計算機能夠通過局域網(wǎng)或廣域網(wǎng)共享

33、計算資源,并能夠為用戶提供對資源的透明訪問。</p><p>  國內(nèi)也有不少公司進行了集群系統(tǒng)的研究和開發(fā)工作。</p><p>  聯(lián)想公司在1999年9月推出了用于分布式高性能計算的NS10000高性能集群服務,該系統(tǒng)是一個四節(jié)點的系統(tǒng),主要基于聯(lián)想萬全45008服務器,以總體成本相對較低的設備組合,足以替代傳統(tǒng)班SC小型機和中型機的工作,而價格僅為市場上同等性能小型機的1/2--1

34、/40。</p><p>  朗訊公司也推出了類似于Urboduster的高可用性集群系統(tǒng)LongshineClusterServer。</p><p>  從國內(nèi)外的研究現(xiàn)狀看,目前集群系統(tǒng)的應用大都致力于高可用性問題的解決,真正基于負載均衡的集群系統(tǒng)還比較少,而且在大部分負載均衡集群中采用的都是輪轉調(diào)度、加權輪轉調(diào)度等靜態(tài)調(diào)度算法。</p><p>  1.3

35、論文研究內(nèi)容</p><p>  嵌入式Web服務器是指將Web服務器引入到現(xiàn)場測試和控制設備中,在相應的硬件平臺和軟件系統(tǒng)的支持下,使傳統(tǒng)的測試和控制設備轉變?yōu)榫邆淞艘訲CP/IP為底層通信協(xié)議,Web技術為核心的基于互聯(lián)網(wǎng)的網(wǎng)絡測試和控制設備。EWS系統(tǒng)與傳統(tǒng)的Web應用相比,簡化了系統(tǒng)結構,將信息采集和信息發(fā)布都集成到現(xiàn)場的測控設備中。而有了標準的接口形式和通信協(xié)議,內(nèi)嵌于設備的從Web服務器同樣可以向任何

36、接入它所在網(wǎng)絡的合法用戶提供統(tǒng)一的基于瀏覽器方式的操作和控制界面,瀏覽器成了設備的前端控制板。由于Web技術的開放性和獨立平臺特性,大大降低了軟件系統(tǒng)和通信系統(tǒng)的設計、維護工作量,節(jié)省了人員培訓費用等,提高了現(xiàn)場測試和控制設備的管理水平。</p><p>  本文采用stm32f107的硬件構架,基于超文本傳輸協(xié)議(HTTP1.0)傳輸控制數(shù)據(jù)和用戶信息,設計了簡單的嵌入式Web服務器,通過以太網(wǎng)和HTTP數(shù)據(jù)傳

37、輸共享小型嵌入式設備的信息,實現(xiàn)了嵌入式系統(tǒng)的Internet接入,遠程用戶可通過瀏覽器訪問嵌入式Web服務器,實現(xiàn)了嵌入式系統(tǒng)的遠程控</p><p>  第2章 相關理論與知識</p><p>  2.1 嵌入式Web服務器的硬件構成 </p><p>  2.1.1金牛開發(fā)板</p><p>  金牛嵌入式開發(fā)板采用 STM32F10

38、7VC,是意法半導體推出全新 STM32 互連 型(Connectivity)系列微控制器中的一款性能較強產(chǎn)品,此芯片集成了各種高 性能工業(yè)標準接口,且 STM32 不同型號產(chǎn)品在引腳和軟件上具有完美的兼容性, 可以輕松適應更多的應用。新 STM32 的標準外設包括10 個定時器、兩個 12 位 1-Msample/s AD(模數(shù)轉換器) (快速交替模式下2M sample/s)、兩個 12 位DA(數(shù) 模轉換器)、兩個I2C 接口、五

39、個USART 接口和三個 SPI 端口和高質(zhì)量數(shù)字音頻 接口IIS, 另外STM32F107 擁有全速USB (OTG)接口,兩路CAN2.0B 接口,以 及以太網(wǎng) 10/100 MAC 模塊.此芯片可以滿足工業(yè)、醫(yī)療、樓宇自動化、家庭音響 和家電市場多種產(chǎn)品需求. </p><p><b>  開發(fā)板硬件配置: </b></p><p>  

40、● STM32F107VC </p><p>  ◆ 32 位 RISC 性能處理器 </p><p>  ◆ 32 位ARM Cortex-M3 結構優(yōu)化 </p><p>  ◆ 72 MHz 運行頻率,1.25 DMIPS/MHz </p><p>  ◆ 硬件除法和單周期乘法 </p><p>  ◆

41、快速可嵌套中斷,6~12 個時鐘周期 </p><p>  ◆ 具有 MPU 保護設定訪問規(guī)則 </p><p>  ● 高達256KBFlash, 高達64KB 的SRAM </p><p><b>  ● 網(wǎng)絡通信功能 </b></p><p>  ◆ 一個 RJ45 網(wǎng)絡接口,支持10M/100M 自適應網(wǎng)絡 &l

42、t;/p><p>  ◆ 一個 RS485 網(wǎng)絡通訊接口 </p><p>  ◆ 兩個 CAN BUS 網(wǎng)絡通訊接口 </p><p><b>  ● 人機交互接口 </b></p><p>  ◆ 一個3.2寸或 2.8 寸大屏幕320*240,26 萬色TFT-LCD,支持 8/16 位總線接口,鏡面屏,超高高度<

43、;/p><p>  ● 電阻式觸摸屏,含專業(yè)高精度觸摸屏控制芯片 (RSM1843) </p><p>  ● 四個LED 發(fā)光管指示,一個電源發(fā)光管指示 </p><p>  ● 兩個GPIO 按鍵 </p><p>  ● 一個RESET 按鍵 </p><p>  ● 兩個RS232 串行通信接口(DB9)

44、</p><p>  ◆ 串口1 用于通信,需設置跳線選擇連接串口 1 </p><p>  ◆ 串口2 用于通信支持 ISP,需設置跳線選擇連接串口2 </p><p>  ● 一個mini AB 型 USB 插座,支持最新 USB OTG 技術,配備 USB 主 </p><p>  機轉接線 ,從機轉接線 </p>&l

45、t;p>  ◆ USB OTG 功能,支持外接優(yōu)盤 </p><p><b>  ● SPI 接口 </b></p><p>  ◆ 一路連接 DATAFLASH (AT45DB161D) </p><p>  ◆ 一路連接到TFT 模塊的觸摸驅動芯片(RSM1843) </p><p><b>  

46、● IIC 接口 </b></p><p>  ◆ IIC 接口外接 EEPROM (24LC02) </p><p>  ● 一個SD 卡座SPI 操作方式(不含SD 卡),提供文件系統(tǒng)(FATFS) </p><p>  ● 外接兩路獨立的ADC 輸入通道 </p><p>  ● 外接兩路獨立的DAC 輸出通道 <

47、;/p><p>  ● 一路電位器輸入模擬信號 </p><p>  ● 一個標準JTAG/SWD 調(diào)試接口(20pin) </p><p>  ● 供電方式: 5V 電源適配器或USB 供電,通過跳線選擇 </p><p>  ● 引出芯片所有 IO,方便二次開發(fā) </p><p>  圖2.1 開發(fā)板正面圖<

48、/p><p>  2.1.2CPU芯片</p><p>  STM32F107VCT6: 存儲器容量, RAM:64KB,計時器數(shù):10,PWM通道數(shù):16,工作溫度范圍:-40°C to +85°C,針腳數(shù):100,封裝類型:LQFP,接口類型:CAN, I2C, SPI, UART, USART, USB,時鐘頻率:72MHz,模數(shù)轉換器輸入數(shù):16,電源電壓 最大:3

49、.6V,電源電壓 最小:2V,芯片標號:32F107VCT,表面安裝器件:表面安裝,輸入/輸出線數(shù):80,閃存容量:256KB</p><p>  圖2.2 STM32F107VCT6參考圖</p><p>  2.1.3以太網(wǎng)控制芯片</p><p>  DP83848C是美國國家半導體公司生產(chǎn)的一款魯棒性好、功能全、功耗低的10/100 Mbps單路物理層(PH

50、Y)器件。它支持MII(介質(zhì)無關接口)和RMII(精簡的介質(zhì)無關接口),使設計更簡單靈活;同時,支持10BASE~T和 100BASE-TX以太網(wǎng)外設,對其他標準以太網(wǎng)解決方案有良好的兼容性和通用性。</p><p>  MII(Medium Independent InteRFace)是IEEE802.3u規(guī)定的一種介質(zhì)無關接口,主要作用是連接介質(zhì)訪問控制層(MAC)子層與物理層(PH-Y)之間的標準以太網(wǎng)接口

51、,負責MAC和PHY之間的通信。由于MII需要多達16根信號線,由此產(chǎn)生的I/O口需求及功耗較大,有必要對MII引腳數(shù)進行簡化,因此提出了RMII(Reduced Medium Independent Interface,精簡的介質(zhì)無關接口),即簡化了的MII。</p><p>  圖2.3 以太網(wǎng)控制芯片參考圖</p><p>  2.2嵌入式Web服務器的軟件構成</p>

52、<p>  嵌入式 Web 服務器主要解決的問題是通過 Internet 來進行遠程訪問和控制現(xiàn)場的設備,所以必須在嵌入式設備中配置 TCP/IP 協(xié)議和 Web 服務器 , 以解決網(wǎng)絡互聯(lián)問題。但是嵌入式服務器系統(tǒng)只需要使用其中的某些基本 的功能,也要減去一些使用不到有功能 ,以節(jié)省有限的嵌入式資源。TCP/IP 此外還要用到的軟件資源有嵌入式實時操作系統(tǒng) 、HTTP 協(xié)議 ,同時帶有 SMTP 和 SNMP 協(xié)議 ,使

53、其具有網(wǎng)絡管理的簡單功能 ,通過網(wǎng)絡可以對接 入到 Internet 上的設備進行管理和控制。</p><p>  軟件用到的主要開發(fā)工具以及語言技術有:</p><p>  C語言:大部分程序都是用C語言編寫的;</p><p>  CGI:在Web上主要用到的是CGI腳本語言</p><p>  Keil:開發(fā)工具用到的是Keil uvi

54、sion4.</p><p>  注:以上工具和技術在接下來的章節(jié)會有介紹。</p><p><b>  2.3CGI技術</b></p><p>  2.3.1CGI概述</p><p>  CGI(通用網(wǎng)關接口)是用于Web服務器和外部應用程序之間信息交互的標準接口。Web服務器原本是為靜態(tài)HTML文檔以及其它相關靜

55、態(tài)文件而設計的。如果一個Web服務器的功能只限于提供靜態(tài)頁面的話,那么與之通信的Web瀏覽器就只能顯示在頁面請求和顯示過程之間文檔內(nèi)容不變化的頁面。CGI規(guī)范在Web服務器和瀏覽器(又稱客戶機)之間建立了標準的信息交換方式。使用它使得信息在瀏覽器或服務器與外部程序之間流動,外部程序在處理之后將處理結果送回用戶端瀏覽器。外部程序通常稱為CGI程序、CGI腳本、CGI應用程序或簡稱網(wǎng)關,因為它運用了CGI規(guī)范并為實現(xiàn)Web平臺的功能而專門設

56、計。</p><p>  在HTML中,當客戶填寫了表單,并按下發(fā)送(submit)按鈕后,表單的內(nèi)容被發(fā)送到了服務器端,一般的,這時就需要有一個服務器腳本來對表單的內(nèi)容進行一些處理。沒有了CGI,Web的世界就完全失去了它的交互性,所有的信息都變成單向的了,而不能夠有任何的反饋。</p><p>  2.3..2CGI工作原理</p><p>  系統(tǒng)嵌入式Web

57、服務器通過CGI程序來獲取用戶的請求、查詢條件,使用HTML方式描述結果并直接回送到客戶端的瀏覽器上,此過程中瀏覽器將用戶輸入的數(shù)據(jù)發(fā)送到Web服務器,Web服務器將數(shù)據(jù)使用STDIN(標準輸入)送到CGI程序。在執(zhí)行CGI程序后,會訪問數(shù)據(jù)庫的記錄,最后使用STDOUT輸出HTML形式的結果文件,經(jīng)Web服務器送回瀏覽器顯示給用戶。使用CGI實現(xiàn)客戶與服務器的交互分一下九個標準步驟:</p><p>  Web

58、客戶(瀏覽器)通過URL與Web服務器相連;</p><p>  服務發(fā)送HTML(和別的組成請求頁面的文件)給用戶,一旦頁面內(nèi)容傳完,這個連接自動斷開;</p><p>  在客戶方,HTML腳本提示用戶做動作或輸入,當用戶響應后客戶請求Web服務器建立一個新的連接;</p><p>  一旦建立連接,客戶把用戶輸入的數(shù)據(jù)傳送給Web服務器;</p>

59、<p>  Web服務器把這些信息和別的進程變量傳給由HTML以URL形式提交的CGI程序;</p><p>  CGI程序根據(jù)輸入作出相應的操作,產(chǎn)生對客戶的響應(一般以一個HTML文檔的形式),并將其傳送給Web服務器;</p><p>  Web服務器把應答數(shù)據(jù)傳送給客戶,并關閉連接;</p><p>  圖2.4 CGI工作原理</p&g

60、t;<p>  其中CGI與表單之間的信息交互方法有兩種模式:“GET”和“POST”。選擇哪一種模式取決于表單(FORM)的“METHOD”字段的設置,如果METHOD設定為GET,CGI程序從環(huán)境變量QUER_STRING中獲取數(shù)據(jù)。為了解釋數(shù)據(jù)和執(zhí)行需要的動作,CGI程序必須要分析(處理)此字符串;如果METHOD設定為POST,數(shù)據(jù)會以STDIN,必須使用CONTENT_LENGTH值。在本設計中CGI程序采用的是

61、POST方法。如果想從服務器獲得數(shù)據(jù)并且不改變服務器上的數(shù)據(jù)時,應該選用GET方法;也有例外,當傳輸?shù)臄?shù)據(jù)很長時,選用POST方法較好;使用GET方式編寫CGI程序會更加簡單,但是POST方式則更加先進;當發(fā)送的數(shù)據(jù)將改變Web服務器端的數(shù)據(jù)時,或者想給CGI程序傳輸大量數(shù)據(jù)(一般地,超過1024字節(jié),這是URL的極限長度)時,應該選用POST方法。</p><p><b>  2.4開發(fā)工具介紹<

62、;/b></p><p>  2.4.1Keil介紹</p><p>  Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uVision

63、)將這些部分組合在一起。運行Keil軟件需要WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。如果你使用C語言編程,那么Keil幾乎就是你的不二之選,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強大的軟件仿真調(diào)試工具也會令你事半功倍</p><p>  2.4.2Keil綜述</p><p>  C51工具包的整體結構,uVision與Ishell分別是C51 for

64、Windows和for Dos的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個開發(fā)流程。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及C51編譯器編譯生成目標文件(.OBJ)。目標文件可由LIB51創(chuàng)建生成庫文件,也可以與庫文件一起經(jīng)L51連接定位生成絕對目標文件(.ABS)。ABS文件由OH51轉換成標準的Hex文件,以供調(diào)試器dScope51或tScope51使用進行源代碼級調(diào)試,也可由

65、仿真器使用直接對目標板進行調(diào)試,也可以直接寫入程序存貯器如EPROM中。 </p><p>  使用獨立的Keil仿真器時,注意事項:</p><p>  * 仿真器標配11.0592MHz的晶振,但用戶可以在仿真器上的晶振插孔中換插其他頻率的晶振。 </p><p>  * 仿真器上的復位按鈕只復位仿真芯片,不復位目標系統(tǒng)。 </p><p&g

66、t;  * 仿真芯片的31腳(/EA)已接至高電平,所以仿真時只能使用片內(nèi)ROM,不能使用片外ROM;但仿真器外引插針中的31腳并不與仿真芯片的31腳相連,故該仿真器仍可插入到擴展有外部ROM(其CPU的/EA引腳接至低電平)的目標系統(tǒng)中使用</p><p><b>  Keil的優(yōu)點:</b></p><p>  1.Keil C51生成的目標代碼效率非常之高,多數(shù)

67、語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。 </p><p>  2.與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。 Keil C51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全Windows界面。</p><p><b>  2.5本章小結</b>

68、;</p><p>  本章主要介紹了本次設計所攬括的軟硬件設備,詳細的說明了本設計使用的開發(fā)板的資料,以及硬件的一部分主要芯片。在軟件設計上所使用的技術主要是CGI和C,而C語言不用多說,對于CGI做出了詳細的介紹。</p><p>  第3章 嵌入式WEB服務器的分析</p><p>  3.1 嵌入式Web技術</p><p>  嵌入

69、式Web服務器,本身就是在嵌入式設備中運行的基于HTTP協(xié)議的Web服務器,以網(wǎng)頁的形式為計算機提供嵌入式設備的狀態(tài)、參數(shù)表示等信息川。將Web服務器植入嵌入式系統(tǒng)后接入Internet,嵌入式Web服務器不僅可以利用瀏覽器提供的豐富的圖形用戶界面實現(xiàn)遠程管理、監(jiān)控嵌入式系統(tǒng)的功能,并且可以在服務器端結合嵌入式Web服務器提供的接口進行進一步開發(fā),以此豐富各種嵌入式功能。嵌入式Web服務器更易于和Internet實現(xiàn)無縫連接,它使得嵌入

70、式設備的遠程控制和管理方式都有了改變,不再需要專用的通信線路,傳輸?shù)男畔⒁膊辉倬窒抻跀?shù)據(jù)信息[5]。</p><p>  如圖3.1所示是典型的嵌入式Web服務器的系統(tǒng)模型:</p><p>  圖3.1 典型的嵌入式Web服務器系統(tǒng)模型</p><p>  Internet可以提供多種網(wǎng)絡服務,比如通過SMTP(簡單郵件傳輸協(xié)議)收發(fā)郵件,通過FTP(文件傳輸協(xié)議

71、)傳輸文件。Internet能得到如此大規(guī)模的流行,WWW(World Wide Web)技術居功至偉??梢哉f如果沒有WWW和HTTP技術就不會有這么多人使用Internet,正是WWW技術把Internet的結構、服務和應用引上了一個新臺階。</p><p>  嵌入式系統(tǒng)幾乎包括了生活中的所有電器設備,如掌上PDA、移動計算設備、手機上網(wǎng)、數(shù)字電視、多媒體、汽車、微波爐、數(shù)字相機、家庭自動化系統(tǒng)、電梯、空調(diào)、

72、安全系統(tǒng)、自動售貨機、蜂窩式電話、消費電子設備、工業(yè)自動化儀表與醫(yī)療儀器等。</p><p>  嵌入式系統(tǒng)和Internet技術的結合,前景非常樂觀。嵌入式Web技術除了可以用于構建智能家庭外還可以用于很多工業(yè)領域。在工業(yè)控制系統(tǒng)中,采用嵌入式Web技術的遠程監(jiān)控系統(tǒng)和傳統(tǒng)的基于現(xiàn)場總線的監(jiān)控系統(tǒng)相比,前者更容易和Internet實現(xiàn)無縫連接,它使得嵌入式設備的遠程控制和管理方式都有了改變,不再需要專用的通信線

73、路,傳輸?shù)男畔⒁膊辉倬窒抻跀?shù)據(jù)信息。在電力系統(tǒng)中嵌入式Web技術也有用武之地。電力系統(tǒng)是一個包含電能生產(chǎn)、傳輸和使用的復雜系統(tǒng),各種生產(chǎn)設備地域分布廣泛,設備類型眾多、數(shù)量巨大,對于這些設備的監(jiān)控。診斷和維護稱為提高系統(tǒng)管理水平的重要內(nèi)容。因此可以將嵌入式Web技術用于電力系統(tǒng)的遠程檢測與故障診斷。</p><p>  3.2嵌入式Web服務器的應用</p><p>  3.2.1 在網(wǎng)絡

74、配置和監(jiān)控方面的應用</p><p>  嵌入式Web服務器目前都是主要應用于各種計算機網(wǎng)絡設備的配置與監(jiān)控方面。有些公司己經(jīng)推出了多種以不同方式連接Interment的網(wǎng)絡化儀器和設備,例如Abilene公司研制出了具有Web瀏覽器遠程接入功能的邏輯分析儀:Cisco公司己開始銷售具備Web管理界面的交換機等。但是隨著這一技術的成熟與發(fā)展,加之這一技術的優(yōu)點,目前的文獻大都預見:這一技術必將廣泛的應用于其它領域

75、。例如:水文資料實時監(jiān)測,防洪體系及水土質(zhì)量監(jiān)測、堤壩安全,地震監(jiān)測網(wǎng),實時氣象,水源和空氣污染監(jiān)測,家政系統(tǒng):水、電、煤氣表的自動抄表,安全防火、防盜系統(tǒng)等。</p><p>  隨著微處理器技術、計算機網(wǎng)絡技術的進步,基于嵌入式Web的網(wǎng)絡數(shù)字視頻監(jiān)控系統(tǒng)逐漸得到了人們的廣泛關注。把圖像采集、視頻壓縮和WEB功能集中到一個體積很小的設備內(nèi),可以直接連入局域網(wǎng)和Internet,達到即插即用,省掉多種復雜的電纜

76、,安裝方便,用戶也無須安裝任何硬件設備即可觀看,這使得由嵌入式網(wǎng)絡視頻監(jiān)控服務器組成的監(jiān)控網(wǎng)絡組網(wǎng)和擴展都極為靈活方便。   </p><p>  3.2.2 在Internet方面的應用</p><p>  傳統(tǒng)的通用的Web服務器被設計用來處理成千上萬個用戶對普通網(wǎng)站的同時并發(fā)訪問。它可以有強有力的數(shù)據(jù)庫作為后盾來開展內(nèi)容繁多的商業(yè)服務,但是由于嵌入式設備

77、的處理器能力和有限的存儲容量,這樣的服務器并不能用來在嵌入式設備上面運行。對于一般的管理信息系統(tǒng)或中小型應用系統(tǒng),所需的Web服務功能比較簡單,如果仍然采用大型的通用Web服務器,無疑是一種資源的浪費。解決方法是使用功能相對簡單、體積更小、消耗資源更少的簡單Web服務器,于是嵌入式Web服務器就應運而生了。</p><p>  WWW(World Wide Web)的飛速發(fā)展和廣泛應用得益于其提供的大量服務,這些

78、服務為人們的信息交流帶來了極大的便利。環(huán)球信息網(wǎng)是一個基于超文本方式的信息查詢方式。它提供了一個友好的界面,大大方便了人們對信息的瀏覽。而嵌入式系統(tǒng)鏈接入互聯(lián)網(wǎng)也是大勢所趨。</p><p>  3.3 嵌入式Internet技術的應用前景</p><p>  嵌入式Internet技術具有廣闊的應用前景,其應用領域可以包括: </p><p><b

79、>  智能公路</b></p><p>  交通管理、車輛導航、流量控制、信息監(jiān)測與汽車服務; </p><p><b>  植物工廠 </b></p><p>  特種植物工場,如實現(xiàn)野生名貴藥材的遠程監(jiān)控培養(yǎng)和種植,無土栽培技術應用,智能種子工程等; </p><p>

80、  虛擬現(xiàn)實(VR)機器人 </p><p>  交通警察、門衛(wèi)、家用機器人等; </p><p><b>  信息家電 </b></p><p>  冰箱、空調(diào)等的網(wǎng)絡化; </p><p><b>  工業(yè)制冷 </b></p>&

81、lt;p>  冷庫、中央空調(diào)、超級市場冰柜; </p><p><b>  VR庫房 </b></p><p>  糧庫、油庫、食品庫等; </p><p><b>  VR家政系統(tǒng) </b></p><p>  水、電、煤氣表的自動抄表,安全防火、防盜

82、系統(tǒng); </p><p><b>  VR精品店 </b></p><p>  客戶可以在Internet上實時地看到存貨狀況; </p><p><b>  工業(yè)自動化 </b></p><p>  目前已經(jīng)有大量的8、16、32 位嵌入式微控制器

83、在應用中,網(wǎng)絡化是提高生產(chǎn)效率 和產(chǎn)品質(zhì)量、減少人力資源的主要途徑,如制藥工業(yè)過程控制、電力系統(tǒng)、電網(wǎng)安全、 電網(wǎng)設備監(jiān)測、石油化工系統(tǒng); </p><p>  POS網(wǎng)絡及電子商務 </p><p>  公共交通無接觸智能卡(Contactless Smartcard, CSC)發(fā)行系統(tǒng),公共電話卡發(fā)行 系統(tǒng),自動售貨

84、機; </p><p><b>  環(huán)境工程與自然 </b></p><p>  水文資料實時監(jiān)測,防洪體系及水土質(zhì)量監(jiān)測、堤壩安全,地震監(jiān)測網(wǎng),實時氣象 信息網(wǎng),水源和空氣污染監(jiān)測[8]。</p><p>  3.4嵌入式Web服務器中TCP/IP棧的實現(xiàn)</p><p>  3.4.1嵌

85、入式TCP/IP協(xié)議棧概述</p><p>  嵌入式系統(tǒng)中實現(xiàn)的協(xié)議要根據(jù)系統(tǒng)自身的特點及功能來設計自己的協(xié)議族,因此,在嵌入式Web服務器中并非TCP/IP協(xié)議族中所有的協(xié)議都要實現(xiàn),必須針對不同的網(wǎng)絡應用對協(xié)議棧進行刪減,保留其基本功能,以滿足網(wǎng)絡應用的需要。</p><p>  考慮到嵌入式Web服務器的硬件處理速度慢并且存儲容量相對較小的條件限制,在TCP/IP協(xié)議棧中主要能夠實

86、現(xiàn)ARP,IP,ICMP,TCP協(xié)議即可。具體分析如下:以太網(wǎng)數(shù)據(jù)的傳輸是采用MAC地址來識別的,而ARP協(xié)議提供IP地址和數(shù)據(jù)鏈路層使用的MAC地址之間的轉換功能,為了保證系統(tǒng)在以太網(wǎng)的通信,首先要實現(xiàn)ARP協(xié)議;由于嵌入式Web服務器要能在Internet上通信,在網(wǎng)絡層一定要實現(xiàn)IP協(xié)議,還要實現(xiàn)能報告數(shù)據(jù)傳送差錯等情況的ICMP協(xié)議;同時,Web服務器同Web瀏覽器之間的通信是通過HTTP協(xié)議進行的,在傳輸層采用TCP協(xié)議,能保

87、證可靠的數(shù)據(jù)傳輸,進而實現(xiàn)其基礎之上的HTTP協(xié)議。</p><p>  3.4.2 ARP協(xié)議實現(xiàn)</p><p>  嵌入式Web服務器中ARP協(xié)議主要功能是進行IP地址與以太網(wǎng)地址之間的轉換,當系統(tǒng)收到發(fā)送數(shù)據(jù)請求時,協(xié)議棧就需要返回IP數(shù)據(jù)報,所有的 IP數(shù)據(jù)報都要進一步封裝成以太網(wǎng)幀才能發(fā)送給網(wǎng)絡控制器,而所加的以太網(wǎng)首部中就包含了由ARP協(xié)議解析目的IP地址所得來的對應的物理

88、地址。</p><p>  首先ARP程序檢測以太網(wǎng)幀的類型字段以判斷其協(xié)議類型。以太網(wǎng)標準規(guī)定,當一個以太網(wǎng)幀攜帶一個ARP消息時,類型字段必須包含十六進制值0806。接著,檢測消息中的操作字段以確認是一個請求消息還是一個應答消息。若是一個請求消息,ARP程序比較目標IP地址與自己的IP地址,如果一樣,則要回發(fā)一個應答消息。對接收到的來自遠程主機的任何試圖解析Web服務器地址的ARP請求,Web服務器都會做出回

89、應。</p><p>  當Web服務器向客戶機發(fā)送一個ARP消息時,此消息是嵌入一個以太網(wǎng)幀中廣播給網(wǎng)上的所有計算機,每臺計算機收到這個請求后都會檢測其中的IP地址。與該IP地址匹配的計算機發(fā)送一個應答,這個應答消息被放進一個幀中直接發(fā)回給Web服務器,而其他的計算機則會丟棄收到的請求,不發(fā)任何應答。這種方式雖然對網(wǎng)絡造成一定的壓力,但節(jié)省嵌入式設備的寶貴資源。在等待應答的時間里,ARP將到達的TCP包丟棄,一

90、旦收到應答,ARP高速緩存就用目的以太網(wǎng)地址更新,然后等待分組就用高速緩存中的目的以太網(wǎng)地址更新,分組就被發(fā)送了。 </p><p>  3.4.3 IP協(xié)議實現(xiàn)</p><p>  IP協(xié)議主要功能是用于主機之間發(fā)送數(shù)據(jù)報的傳輸,實現(xiàn)比較復雜,但對于Web服務器來說,只需完成IP協(xié)議兩項最基本的功能:第一,處理接收到的IP數(shù)據(jù)報,向上層網(wǎng)絡提交。第二,負責對TCP報文、ICMP報文進行封

91、裝,交給數(shù)據(jù)鏈路層進行裝幀。</p><p>  當Web服務器收到發(fā)給自己的數(shù)據(jù)幀后,需要對以太網(wǎng)首部中的幀類型字段進行判斷,如果該字段為0x0800,說明后面的數(shù)據(jù)是IP數(shù)據(jù)報,將此數(shù)據(jù)提交IP層處理。IP協(xié)議判斷此數(shù)據(jù)報的IP頭部中目的IP地址字段與本地IP地址是否一致,若不一致,則丟棄該數(shù)據(jù)報;若一致,進行IP頭部校驗和檢查,當證明數(shù)據(jù)在傳輸中沒有出現(xiàn)錯誤時,去掉IP頭部,將IP數(shù)據(jù)提交上層處理,即根據(jù)I

92、P首部中的協(xié)議字段決定交給ICMP 協(xié)議還是TCP協(xié)議處理。在程序運行時,當所接收的數(shù)據(jù)被判定為IP數(shù)據(jù)報后,IP處理程序將嚴格按照以上的過程接收處理數(shù)據(jù)并進行處理。</p><p>  IP協(xié)議還要查詢是否有上層數(shù)據(jù)要發(fā)送,如果有數(shù)據(jù)發(fā)送,則將上層數(shù)據(jù)進行IP封裝,交給數(shù)據(jù)鏈路層裝幀發(fā)送。</p><p>  3.4..4ICMP協(xié)議實現(xiàn)</p><p>  IC

93、MP提供了一種讓互聯(lián)網(wǎng)中的路由報告錯誤或提供有關意外情況信息的報文機制。它不是獨立的,是IP的一部分,在每個IP實現(xiàn)中必須有它。雖然它提供的信息十分豐富,但在嵌入式Web服務器應用中,只要實現(xiàn)回送請求(echo request)和回送應答(echo reply)就足夠了。</p><p>  3.4.5TCP協(xié)議實現(xiàn)</p><p>  TCP是嵌入式Web服務器的核心。在設計嵌入式Web

94、服務器時,系統(tǒng)應用層只需支持HTTP協(xié)議。嵌入式系統(tǒng)把要傳送的數(shù)據(jù),參數(shù)等存入網(wǎng)頁的相關位置。對于任何TCP連接,每次只需支持HTTP協(xié)議發(fā)送網(wǎng)頁服務。在單片機這樣的系統(tǒng)中,資源十分有限,因此要精簡TCP 協(xié)議,簡化的原則有兩個:第一,不能改變其面向連接的特性;第二,簡化必須能配合其所采用的應用層協(xié)議。</p><p>  作為嵌入式Web服務器,TCP連接時只需處于被動服務的狀態(tài),所以將標準的TCP有限狀態(tài)機的

95、主動創(chuàng)建連接的SYN-SENT狀態(tài),主動關閉連接的FIN-WAIT1,FIN-WAIT2,</p><p>  CLOSING,TIME-WAIT狀態(tài)都省去,在設計中,還可以舍棄CLOSED狀態(tài),讓它開始就處于LISTEN狀態(tài)來監(jiān)聽客戶端的連接請求。這樣,TCP的三次握手機制中,建立連接的過程時,嵌入式系統(tǒng)作為監(jiān)聽狀態(tài)的服務器,始終為被動方,相當于被動打開后的LISTEN狀態(tài),等待對方發(fā)起連接。當它接收到SYN數(shù)

96、據(jù)片,它發(fā)出SYN+ACK數(shù)據(jù)片并確認它己經(jīng)收到對方的SYN,此時變?yōu)镾YN_RECEIVED狀態(tài)。再接收到對方返回的一個僅含ACK的空數(shù)據(jù)片,則三次握手完成,進入ESTABLISHED狀態(tài),之后可以進行TCP數(shù)據(jù)通訊。這樣,既節(jié)省了系統(tǒng)開銷,同時也保證了所有的數(shù)據(jù)段都能安全正確地到達目的端。</p><p><b>  3.5 協(xié)議標準</b></p><p>  

97、現(xiàn)在直接采用的標準為TCP/IP協(xié)議棧,包括TCP、IP、ICMP、RARP等,這些標準的協(xié)議對嵌入式Internet系統(tǒng)的大量使用有著很重要的意義。但是,這些協(xié)議的實現(xiàn)在嵌入式系統(tǒng)中有著特別的要求,如圖形和數(shù)據(jù)的顯示、實時分布式對象計算等。所以研究嵌入式TCP/IP協(xié)議棧以滿足嵌入式系統(tǒng)的性能要求是很重要的,我們應該盡量減小TCP/IP協(xié)議棧而又不失一般的標準性?,F(xiàn)在國外對此已經(jīng)有很多的相關研究,如國外的μC/IP項目的研究,它是一個

98、為微控制器和嵌入式系統(tǒng)而設計的小型TCP/IP協(xié)議棧:又例如CMX公司的MicroNet TCP/IP,它是為8位或16位微處理器而設計的,支持大部分的標準協(xié)議,連接方式有以太網(wǎng)連接、拔號連接和直接連接方式。</p><p>  嵌入式Web服務器技術的核心是HTTP引擎。HTTP協(xié)議是WEB應用的標準協(xié)議,其已經(jīng)從HTTP1.0發(fā)展到HTTP1.1,性能有很大改變,增加了緩存功能,同志就是TCP連接形式的改變。

99、HTTP10在每次HTTP請求中都需要TCP連接。一個典型的頁面可能含有許多單獨的HTT請求,如基本頁面請求、每個HTML框架請求、每個圖形請求等。建立每個請求并且產(chǎn)生每TCP連接需要占用大量的CPU和內(nèi)存資源:而HTTP1.1標準可以為多個HTTP事務在瀏覽器和服務器之間只保持一個TCP連接,這樣就大大提高網(wǎng)絡和系統(tǒng)的性能。所以,在嵌入式Web服務器中為了得到一個穩(wěn)定的用戶界面而又不影響嵌入式系統(tǒng)的CPU和內(nèi)存資源,我們應該使用HTT

100、P1.0標準。</p><p>  3.6 超文本傳輸協(xié)議(HTTP)</p><p>  3.6.1 HTTP協(xié)議簡介</p><p>  HTTP協(xié)議即超文本傳送協(xié)議(HypertextTransferProtoeol)是用來構建分布式信息系統(tǒng)的,建立在TCP/IP協(xié)議之上的應用層協(xié)議。HTTP協(xié)議是一種用于網(wǎng)絡通信的標準應用層協(xié)議。它是使用在Web服務器和客戶

101、端直接傳送數(shù)據(jù)的一種協(xié)議。HTTP協(xié)議是基于請求/回應機制的。HTTP協(xié)議具有支持客戶/服務器模式,簡單快速的特點,而且具有無連接、無狀態(tài)、元信息的特點。HTTP協(xié)議它指定了客戶和服務器如何建立連接、客戶如何從服務器上請求數(shù)據(jù)、服務器如何響應以及如何關閉連接??蛻舳伺c服務器端建立連接后,以請求方法、URL、協(xié)議版本等方式向服務器端發(fā)出請求,該請求可跟隨包含請求修飾符、客戶信息、及可能的請求體(body)內(nèi)容的MIME類型消息。服務器端通

102、過狀態(tài)行(Status1ine)來回應,內(nèi)容包括消息的協(xié)議版本、成功或錯誤代碼,也跟隨著包含服務器信息、實體元信息及實體內(nèi)容的MIME類型消息。</p><p>  HTTP協(xié)議最初的原型是在1990年的Internet上出現(xiàn)的。最初只是在實驗室應用,用于提供一種新型的信息組織方法,便于將信息組織成為Web文檔,這種就是所謂的超文本鏈接。當這種方法被公開應用到Internet上之后,得到了廣泛的應用,事實證明HT

103、TP協(xié)議比以前的任何一種協(xié)議都能將信息很好地組織起來,可方便、直接地從Internet檢索和獲取所需的信息。與其他流行的Internet協(xié)議一樣,HTTP協(xié)議的發(fā)展也經(jīng)歷了一個不斷完善的,功能不斷增加的過程。從HTTP協(xié)議出現(xiàn)到制定相應的面,HTTP協(xié)議的版本經(jīng)歷了HTTP0.9.HTTP1.0以及HTTP1.1協(xié)議主要內(nèi)容包括:請求周期、消息、請求、響應、訪問認證、URL編碼等6部分內(nèi)容。當用戶要瀏覽服務器上的一個網(wǎng)頁時,一個HTTP

104、請求就會從用戶的瀏覽器發(fā)到HTTP服務器。服務器響應這個請求,指定的網(wǎng)頁傳送回來,用戶才看到了網(wǎng)頁。HTTP協(xié)議被設計成適應快速、小流量,比其他協(xié)議花費服務器的CPU或內(nèi)存資源小的協(xié)議。</p><p>  HTTP(Hyper Text Transfer Protocol)協(xié)議是一套計算機通過網(wǎng)絡進行通信的規(guī)則。計算機專家設計出HTTP,使HTTP客戶(如Web瀏覽器)能夠從HTTP服務器(Web服務器)請求信

105、息和服務,HTTP目前協(xié)議的版本是1.1。HTTP是一種無狀態(tài)的協(xié)議,無狀態(tài)是指Web瀏覽器和Web服務器之間不需要建立持久的連接,這意味著當一個客戶端向服務器端發(fā)出請求,然后Web服務器返回響應(Responses),連接就被關閉了,在服務器端不保留連接的有關信息。HTTP遵循請求(Request)/應答(Response)模型。Web瀏覽器向Web服務器發(fā)送請求,Web服務器處理請求并返回適當?shù)膽?。所有HTTP連接都被構造成一套請

106、求和應答[9]。</p><p>  HTTP使用內(nèi)容類型,是指Web服務器向Web瀏覽器返回的文件都有與之相關的類型。所有這些類型在MIME Internet郵件協(xié)議上模型化,即Web服務器告訴Web瀏覽器該文件所具有的種類,是HTML文檔、GIF格式圖像、聲音文件還是獨立的應用程序。大多數(shù)Web瀏覽器都擁有一系列的可配置的輔助應用程序,它們告訴瀏覽器應該如何處理Web服務器發(fā)送過來的各種內(nèi)容類型。我們在瀏覽器

107、的地址欄里輸入的網(wǎng)站地址叫做URL(Uniform Resource Locator,統(tǒng)一資源定位符)。就像每家每戶都有一個門牌地址一樣,每個網(wǎng)頁也都有一個Internet地址。當你在瀏覽器的地址框中輸入一個URL或是單擊一個超級鏈接時,URL就確定了要瀏覽的地址。瀏覽器通過超文本傳輸協(xié)議(HTTP),將Web服務器上站點的網(wǎng)頁代碼提取出來,并翻譯成漂亮的網(wǎng)頁。因此,在我們認識HTTP</p><p>  之前,

108、有必要先弄清楚URL的組成,例如: </p><p>  http://www.microsoft.com/china/index.htm。它的含義如下:</p><p>  1、http://:代表超文本傳輸協(xié)議,通知microsoft.com服務器顯示W(wǎng)eb頁,通常不用輸入;</p><p>  2、www:代表一個Web(萬維網(wǎng))服務器;</p>

109、<p>  3、Microsoft.com/:這是裝有網(wǎng)頁的服務器的域名,或站點服務器的名稱;</p><p>  4、China/:為該服務器上的子目錄,就好像我們的文件夾;</p><p>  5、Index.htm:index.htm是文件夾中的一個HTML文件(網(wǎng)頁)。</p><p>  我們知道,Internet的基本協(xié)議是TCP/IP協(xié)議,

110、然而在TCP/IP模型最上層的是應用層(Application layer),它包含所有高層的協(xié)議。高層協(xié)議有:文件傳輸協(xié)議FTP電子郵件傳輸協(xié)議SMTP、域名系統(tǒng)服務DNS、網(wǎng)絡新聞傳輸協(xié)議NNTP和HTTP協(xié)議等。HTTP協(xié)議(Hypertext Transfer Protocol,超文本傳輸協(xié)議)是用于從WWW服務器傳輸超文本到本地瀏覽器的傳送協(xié)議。它可以使瀏覽器更加高效,使網(wǎng)絡傳輸減少。它不僅保證計算機正確快速地傳輸超文本文檔,

111、還確定傳輸文檔中的哪一部分,以及哪部分內(nèi)容首先顯示(如文本先于圖形)等。這就是你為什么在瀏覽器中看到的網(wǎng)頁地址都是以“http://”開頭的原因。自WWW誕生以來,一個多姿多彩的資訊和虛擬的世界便出現(xiàn)在我們眼前,可是我們怎么能夠更加容易地找到我們需要的資訊呢?當決定使用超文本作為WWW文檔的標準格式后,于是在1990年,科學家們立即制定了能夠快速查找這些超文本文檔的協(xié)議,即HTTP協(xié)議。經(jīng)過幾年的使用與發(fā)展,得到不斷的完善和擴展,目前在

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論