Http協議詳解

1.簡介html

HTTP協議(Hyper Text Transfer Protocol,超文本傳輸協議),是用於從萬維網(WWW:World Wide Web )服務器傳輸超文本到本地瀏覽器的傳送協議。瀏覽器

HTTP基於TCP/IP通訊協議來傳遞數據。緩存

HTTP基於客戶端/服務端(C/S)架構模型,經過一個可靠的連接來交換信息,是一個無狀態的請求/響應協議。服務器

2.特色cookie

(1)HTTP是無鏈接:無鏈接的含義是限制每次鏈接只處理一個請求。服務器處理完客戶的請求,並收到客戶的應答後,即斷開鏈接。採用這種方式能夠節省傳輸時間。session

(2)HTTP是媒體獨立的:只要客戶端和服務器知道如何處理的數據內容,任何類型的數據均可以經過HTTP發送。客戶端以及服務器指定使用適合的MIME-type內容類型。架構

(3)HTTP是無狀態:無狀態是指協議對於事務處理沒有記憶能力。缺乏狀態意味着若是後續處理須要前面的信息,則它必須重傳,這樣可能致使每次鏈接傳送的數據量增大。另外一方面,在服務器不須要先前信息時它的應答就較快。ide

HTTP請求報文網站

HTTP請求報文由3部分組成(請求行+請求頭+請求體):
google

請求行:

①是請求方法,GET和POST是最多見的HTTP方法,除此之外還包括DELETE、HEAD、OPTIONS、PUT、TRACE。

②爲請求對應的URL地址,它和報文頭的Host屬性組成完整的請求URL。

③是協議名稱及版本號。

請求頭:

④是HTTP的報文頭,報文頭包含若干個屬性,格式爲「屬性名:屬性值」,服務端據此獲取客戶端的信息。

與緩存相關的規則信息,均包含在header中

請求體:

⑤是報文體,它將一個頁面表單中的組件值經過param1=value1&param2=value2的鍵值對形式編碼成一個格式化串,它承載多個請求參數的數據。不但報文體能夠傳遞請求參數,請求URL也能夠經過相似於「/chapter15/user.html? param1=value1&param2=value2」的方式傳遞請求參數。

HTTP請求報文頭屬性

Accept 
請求報文可經過一個「Accept」報文頭屬性告訴服務端 客戶端接受什麼類型的響應。 
以下報文頭至關於告訴服務端,俺客戶端可以接受的響應類型僅爲純文本數據啊,你丫別發其它什麼圖片啊,視頻啊過來,那樣我會歇菜的~~~

Accept:text/plain

 

Accept屬性的值能夠爲一個或多個MIME類型的值(描述消息內容類型的因特網標準, 消息能包含文本、圖像、音頻、視頻以及其餘應用程序專用的數據)

cookie

客戶端的Cookie就是經過這個報文頭屬性傳給服務端的哦!以下所示:

Cookie: $Version=1; Skin=new;jsessionid=5F4771183629C9834F8382E23   

服務端是怎麼知道客戶端的多個請求是隸屬於一個Session呢?注意到後臺的那個jsessionid = 5F4771183629C9834F8382E23木有?原來就是經過HTTP請求報文頭的Cookie屬性的jsessionid的值關聯起來的!(固然也能夠經過重寫URL的方式將會話ID附帶在每一個URL的後面哦)。

Referer
表示這個請求是從哪一個URL過來的,假如你經過google搜索出一個商家的廣告頁面,你對這個廣告頁面感興趣,鼠標一點發送一個請求報文到商家的網站,這個請求報文的Referer報文頭屬性值就是http://www.google.com。

Cache-Control

對緩存進行控制,如一個請求但願響應返回的內容在客戶端要被緩存一年,或不但願被緩存就能夠經過這個報文頭達到目的。

HTTP響應報文

HTTP的響應報文也由三部分組成(響應行+響應頭+響應體)

響應行:

①報文協議及版本; 
②狀態碼及狀態描述;

響應頭:

③響應報文頭,也是由多個屬性組成;

響應體:

④響應報文體,即咱們真正要的「乾貨」

響應狀態碼 

和請求報文相比,響應報文多了一個「響應狀態碼」,它以「清晰明確」的語言告訴客戶端本次請求的處理結果。 
HTTP的響應狀態碼由5段組成:

  • 1xx 消息,通常是告訴客戶端,請求已經收到了,正在處理,別急...
  • 2xx 處理成功,通常表示:請求收悉、我明白你要的、請求已受理、已經處理完成等信息.
  • 3xx 重定向到其它地方。它讓客戶端再發起一個請求以完成整個處理。
  • 4xx 處理髮生錯誤,責任在客戶端,如客戶端的請求一個不存在的資源,客戶端未被受權,禁止訪問等。
  • 5xx 處理髮生錯誤,責任在服務端,如服務端拋出異常,路由出錯,HTTP版本不支持等。
相關文章
相關標籤/搜索