HTTP(HyperText Transfer Protocol),超文本傳輸協議。是世界上應用最廣的一種網絡協議。它是一種客戶端瀏覽器或其他程序與Web服務器之間的應用層通信協議。它是一種無狀態的協議,一次HTTP操作成爲一個事務,客戶機與服務器之間通過請求和相應完成一次回話。而在每次會話中,通信雙方發送的數據就成爲消息。
消息分爲兩種:
【請求消息】:
【響應消息】:
HTTP協議工作過程:
1、客戶端與服務器端建立需要建立連接。(單擊某個超鏈接) --->
2、建立連接後,客戶端給服務器端發送一個請求。 --->
3、服務器端接收到請求後,給與響應的響應消息。 <----
4、客戶端接收到服務器返回的消息後,給與顯示到用戶顯示屏上,然後客戶端斷開與服務器斷開連接。 ----->
HTTP協議結構:
HTTP報文(即消息)結構組成:
【請求行/狀態行】
消息頭【請求行/響應行】
消息體【請求體/響應體】
請求消息:
一個典型的HTTP請求消息頭部信息,
Host:www.brophp.com ->頭部行(請求對象的主機)
Connection:close ->頭部行(不適用持久連接)
User-agent:Mozilla/4.0 ->頭部行(用戶代理, 即當前請求瀏覽器的類型)
Accept-language:zh-cn ->頭部行(語言版本)
響應消息:
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 ->附屬體(附屬提對象的類型)
200 -> 成功
301 -> 永久移動
304 -> 無修改
400 -> 錯誤請求
404 -> 未找到
500 -> 內部錯誤
502 -> 錯誤網關
505 -> HTTP版本不支持