<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于GR47和MCU的無(wú)線嵌入式Web Server

          基于GR47和MCU的無(wú)線嵌入式Web Server

          作者: 時(shí)間:2010-02-22 來(lái)源:網(wǎng)絡(luò) 收藏
          2 HTTP協(xié)議解析和軟件設(shè)計(jì)

          本文引用地址:http://www.ex-cimer.com/article/152089.htm

          2.1 HTTP協(xié)議

          HTTP(超文本傳輸協(xié)議)是WWW上的協(xié)議。HTTP協(xié)議使服務(wù)器和瀏覽器可以通過(guò)交換數(shù)據(jù)。它是一種請(qǐng)求、響應(yīng)協(xié)議,即服務(wù)器等待并響應(yīng)客戶方請(qǐng)求。當(dāng)用戶通過(guò)其瀏覽器訪問(wèn)一個(gè)頁(yè)面時(shí),瀏覽器發(fā)送一個(gè)HTTP請(qǐng)求給HTTP服務(wù)器,服務(wù)器會(huì)響應(yīng)這個(gè)請(qǐng)求,將指定的網(wǎng)頁(yè)傳送回去,用戶就可以瀏覽網(wǎng)頁(yè)。

          HTTP協(xié)議不維護(hù)與客戶方的連接,它使用可靠的TCP連接,通常采用TCP80端口。HTTP非常簡(jiǎn)單,請(qǐng)求和應(yīng)答是1行或多行文本,它的結(jié)束標(biāo)志是一個(gè)換行符。如果請(qǐng)求成功,信息就沿該連接發(fā)送,直至傳送完成斷開(kāi)連接。

          客戶/服務(wù)器傳輸過(guò)程可分為4個(gè)基本步驟:瀏覽器與服務(wù)器建立連接;瀏覽器向服務(wù)器請(qǐng)求文檔;服務(wù)器響應(yīng)瀏覽器請(qǐng)求;斷開(kāi)連接。

          2.1.1 HTTP報(bào)文結(jié)構(gòu)

          HTTP報(bào)文包括請(qǐng)求報(bào)文和響應(yīng)報(bào)文兩種報(bào)文類型,其中,請(qǐng)求報(bào)文由客戶端如瀏覽器向服務(wù)器發(fā)送,用于請(qǐng)求服務(wù)器提供某個(gè)類型的服務(wù);而響應(yīng)報(bào)文則是在服務(wù)器接到請(qǐng)求報(bào)文之后,返回給客戶端的消息,表明服務(wù)器所作出的響應(yīng)。

          1)請(qǐng)求報(bào)文格式

          請(qǐng)求報(bào)文一般包括請(qǐng)求行、首部和實(shí)體(有時(shí)包含)3部分。其中,請(qǐng)求行包括請(qǐng)求方法、URL(統(tǒng)一資源定位地址)和HTTP協(xié)議版本號(hào)3部分,其報(bào)文格式如圖3所示。在請(qǐng)求行中,請(qǐng)求方法是客戶端向服務(wù)器端發(fā)出的命令,URL是所請(qǐng)求網(wǎng)頁(yè)資源的地址,HTTP版本是指報(bào)文所使用的HTTP協(xié)議版本號(hào)。常用的請(qǐng)求方法有Get和Post兩種:Get方法通常只是用于請(qǐng)求服務(wù)器上的URL所指定的資源;Post方法用于客戶端向服務(wù)器端提供信息,所提供的信息位于請(qǐng)求報(bào)文的實(shí)體部分。

          2)響應(yīng)報(bào)文的格式

          響應(yīng)報(bào)文一般包括狀態(tài)行、首部和實(shí)體(有時(shí)包含)3部分,其報(bào)文格式如圖4所示。在響應(yīng)報(bào)文中,狀態(tài)行定義了響應(yīng)報(bào)文的狀態(tài),并由響應(yīng)狀態(tài)碼和響應(yīng)狀態(tài)碼說(shuō)明字段反應(yīng)。其中,200系列的代碼用于指示成功的請(qǐng)求。

          HTTP報(bào)文中的首部由多個(gè)首部行組成,用以在客戶端與服務(wù)器之間交換一些附加的信息。每個(gè)首部行由首部名、冒號(hào)、空格和首部值組成,并以回車換行符(\r\n)結(jié)尾。首部與實(shí)體之間有一空行進(jìn)行間隔。

          2.1.2 HTTP協(xié)議解析

          HTTP協(xié)議解析過(guò)程分為接收和發(fā)送兩部分。HTTP協(xié)議解析流程圖如圖5所示。

          接收HTTP方法并設(shè)定方法標(biāo)志位,計(jì)算URL,然后判斷HTTP方法。若HTTP方法為Get,則判斷是否存在對(duì)應(yīng)的網(wǎng)頁(yè),如果存在,則確定接收HTTP方法并設(shè)定方法標(biāo)志,然后返回;如果不存在對(duì)應(yīng)的網(wǎng)頁(yè),直接返回。若HTTP方法為Post,則接收并處理控制數(shù)據(jù),然后返回。

          2.2總體軟件

          軟件采用C430編寫(xiě),其工作過(guò)程為:上電開(kāi)始;初始化;判斷是否在線,若不在線繼續(xù)等待,若在線就發(fā)送模塊IP,處于監(jiān)聽(tīng)80端口狀態(tài);判斷HTTP是否接入,若未接人,繼續(xù)處于監(jiān)聽(tīng)80端口狀態(tài),若接入,對(duì)HTTP協(xié)議解析;GR47發(fā)送數(shù)據(jù),數(shù)據(jù)發(fā)送完畢,HTTP連接斷開(kāi)。軟件總體流程圖如圖6所示。

          3結(jié)束語(yǔ)

          隨著IPV6的實(shí)施,Internet上每個(gè)移動(dòng)臺(tái)和PC將分配到一個(gè)唯一的IP,對(duì)通過(guò)GPRS、CDMA(碼分多址)或其他網(wǎng)絡(luò)技術(shù)登錄的Web ,Internet上任一移動(dòng)臺(tái)或PC都能對(duì)其進(jìn)行訪問(wèn)。Web 具有廣闊的應(yīng)用和發(fā)展空間。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();