HTTP協議學習

HTTP協議學習

HTTP(HyperText Transfer Protocol),超文本傳輸協議。是世界上應用最廣的一種網絡協議。它是一種客戶端瀏覽器或其他程序與Web服務器之間的應用層通信協議。它是一種無狀態的協議,一次HTTP操作成爲一個事務,客戶機與服務器之間通過請求和相應完成一次回話。而在每次會話中,通信雙方發送的數據就成爲消息。
    
消息分爲兩種:
    【請求消息】:
    【響應消息】:
HTTP協議工作過程:
    1、客戶端與服務器端建立需要建立連接。(單擊某個超鏈接)     --->
    2、建立連接後,客戶端給服務器端發送一個請求。    --->
    3、服務器端接收到請求後,給與響應的響應消息。    <----
    4、客戶端接收到服務器返回的消息後,給與顯示到用戶顯示屏上,然後客戶端斷開與服務器斷開連接。   ----->
HTTP協議結構:
    HTTP報文(即消息)結構組成:

        【請求行/狀態行】
        消息頭【請求行/響應行】
        消息體【請求體/響應體】

    請求消息:


        一個典型的HTTP請求消息頭部信息,


GET /book/index.html HTTP/1.1             ->請求行(3個字段,方法字段(GET、POST、HEAD),URL字段, HTTP版本字段)
Host:www.brophp.com                        ->頭部行(請求對象的主機)
Connection:close                        ->頭部行(不適用持久連接)
User-agent:Mozilla/4.0                    ->頭部行(用戶代理, 即當前請求瀏覽器的類型)

 Accept-language:zh-cn                    ->頭部行(語言版本)


    響應消息:


        一個典型的HTTP響應消息頭部信息,

           

            HTTP/1.1 20 OK                            ->狀態行

            Connection:close                        ->頭部行
            Date:Thu,13 Oct 2011 03:17:33 GMT        ->頭部行(服務器創建併發送響應消息的時間)
            Server:Apache/2.2.9(Unix)                ->頭部行
            Last-Nodified:Mon,22 Jun 2008 09:23:24 GMT ->頭部行(對象本身的創建或最後修改時間 ,對高速緩存至關重要)
            Content-Length:6821                    ->頭部行(發送對象的字節數)

            Content-Type:text/html                    ->附屬體(附屬提對象的類型)


        HTTP響應消息中常見的狀態消息

            200 -> 成功       

            301 -> 永久移動  

            304 -> 無修改  

            400 -> 錯誤請求

            404 -> 未找到      

            500 -> 內部錯誤    

            502 -> 錯誤網關

            505 -> HTTP版本不支持






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章