新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于GR47和MCU的無線嵌入式Web Server

        基于GR47和MCU的無線嵌入式Web Server

        作者: 時間:2010-02-22 來源:網絡 收藏
        2 HTTP協議解析和軟件設計

        本文引用地址:http://www.104case.com/article/152089.htm

        2.1 HTTP協議

        HTTP(超文本傳輸協議)是WWW上的協議。HTTP協議使服務器和瀏覽器可以通過交換數據。它是一種請求、響應協議,即服務器等待并響應客戶方請求。當用戶通過其瀏覽器訪問一個頁面時,瀏覽器發送一個HTTP請求給HTTP服務器,服務器會響應這個請求,將指定的網頁傳送回去,用戶就可以瀏覽網頁。

        HTTP協議不維護與客戶方的連接,它使用可靠的TCP連接,通常采用TCP80端口。HTTP非常簡單,請求和應答是1行或多行文本,它的結束標志是一個換行符。如果請求成功,信息就沿該連接發送,直至傳送完成斷開連接。

        客戶/服務器傳輸過程可分為4個基本步驟:瀏覽器與服務器建立連接;瀏覽器向服務器請求文檔;服務器響應瀏覽器請求;斷開連接。

        2.1.1 HTTP報文結構

        HTTP報文包括請求報文和響應報文兩種報文類型,其中,請求報文由客戶端如瀏覽器向服務器發送,用于請求服務器提供某個類型的服務;而響應報文則是在服務器接到請求報文之后,返回給客戶端的消息,表明服務器所作出的響應。

        1)請求報文格式

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

        2)響應報文的格式

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

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

        2.1.2 HTTP協議解析

        HTTP協議解析過程分為接收和發送兩部分。HTTP協議解析流程圖如圖5所示。

        接收HTTP方法并設定方法標志位,計算URL,然后判斷HTTP方法。若HTTP方法為Get,則判斷是否存在對應的網頁,如果存在,則確定接收HTTP方法并設定方法標志,然后返回;如果不存在對應的網頁,直接返回。若HTTP方法為Post,則接收并處理控制數據,然后返回。

        2.2總體軟件

        軟件采用C430編寫,其工作過程為:上電開始;初始化;判斷是否在線,若不在線繼續等待,若在線就發送模塊IP,處于監聽80端口狀態;判斷HTTP是否接入,若未接人,繼續處于監聽80端口狀態,若接入,對HTTP協議解析;GR47發送數據,數據發送完畢,HTTP連接斷開。軟件總體流程圖如圖6所示。

        3結束語

        隨著IPV6的實施,Internet上每個移動臺和PC將分配到一個唯一的IP,對通過GPRS、CDMA(碼分多址)或其他網絡技術登錄的Web ,Internet上任一移動臺或PC都能對其進行訪問。Web 具有廣闊的應用和發展空間。

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

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 平利县| 青田县| 正安县| 望都县| 中方县| 丰镇市| 郁南县| 萨嘎县| 富阳市| 神农架林区| 黄石市| 咸丰县| 遵义市| 田林县| 宜州市| 青川县| 桃源县| 应城市| 衡阳市| 新泰市| 吉林市| 密云县| 永德县| 利津县| 静乐县| 玉溪市| 福清市| 迭部县| 合肥市| 平武县| 林西县| 察隅县| 漳浦县| 壤塘县| 红桥区| 翼城县| 宁乡县| 远安县| 浏阳市| 尼玛县| 金阳县|