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協議...