HTTP協議概述及對比

2021-09-14 04:58:09 字數 1363 閱讀 3880

hyper text transfer protocol,超文字傳輸協議,屬於應用層的物件導向協議

http1.0的特點:

支援客戶/伺服器模式。

簡單快速:請求服務時,只需要傳送請求方法和路徑。

允許傳輸任意型別資料

每次只處理1個請求,收到客戶端應答後就斷開連線(1.0的缺點)

無狀態:這次請求和上次無關(每次請求必須附上所有資訊)

host:網域名稱或ip位址

:port:預設為80埠可不寫

path:指定資源位址,如果沒有則為「/」

例如:http請求

請求行 + 訊息報頭(以空行表示結束)+ 請求正文

http響應

狀態行 + 訊息報頭(以空行表示結束)+ 響應正文

完整的http訊息由請求和響應組成

開始行(請求行/狀態行)+

訊息報頭(可選)+

空行(crlf)+

訊息正文(可選)

訊息報頭組成格式:key: value(名字 + 「:」 + 空格 + 值)

http/1.0的缺點:每個tcp連線只能傳送乙個請求,傳送資料完畢就關閉連線,而tcp連線建立的成本很高。

為解決該問題,某些瀏覽器在請求時,用了乙個非標準欄位connect: keep-alive,伺服器同樣回應這個字段,以此建立乙個可服用的tcp連線,直到一方主動關閉

http/1.1的變化

引入持久連線,tcp連線預設不關閉,不用宣告connect: keep-alive。客戶端可在最後乙個請求時主動發哦是那個connect: close,明確告知伺服器關閉連線,或一方發現另一方一段時間未活動,則自動關閉連線。

管道機制:同乙個tcp連線中,客戶端可同時傳送多個請求。

eg. 1.0中客戶端先傳送a,收到伺服器響應後再傳送b;

1.1中客戶端可依次傳送a、b,伺服器按照順序先回a再回b。

context-length欄位與分塊傳輸編碼。1.0中也有,但不是必須的。transfer-encoding可代替context-length

增加了put、path、head、options、delete方法

增加欄位host,例如「host: www.example.com」,可以將請求發往同一臺主機的不同**

Http協議概述

http協議的特點 1.支援客戶端 伺服器模式 3.靈活 http協議允許傳輸任意型別的資料物件。正在傳輸的型別有content type加以標記。5.無狀態 http協議是無狀態協議。無狀態是指協議對於事務處理沒有記憶能力。缺少狀態意味著如果後續處理需要前面的資訊,則它必須重傳,這樣可能導致每次鏈...

HTTP協議概述

宣告 本人的所有部落格皆為個人筆記,作為個人知識索引使用,因此在敘述上存在邏輯不通順 跨度大等問題,希望理解。分享出來僅供大家學習翻閱,若有錯誤希望指出,感謝!應用http協議時必須是一端擔任客戶端角色,另一端擔任伺服器角色 實際情況下,兩台計算機作為客戶端與伺服器的角色有可能會互換,http協議能...

HTTP協議概述

名為超文字傳輸協議,基於tcp ip通訊協議來傳遞資料的應用層中的協議 html 檔案,檔案,查詢結果等 的。訪問的是遠端的網路資源,格式是http http協議是在網路開發中最常用的協議 請求 1個完整的由客戶端發給伺服器的http請求中包含以下內容請求行 包含請求方法,請求資源路徑,http協議...