http,超文字傳輸協議hypertext transfer protocol。基於tcp,無狀態。
http預設使用持續連線,但是也可以配置為使用非持續連線。持續連線就是指傳送請求,接收響應後,並不直接關閉tcp連線,再有下個http請求,還用這個tcp連線傳送;非持續連線就是傳送請求,接收響應後,直接關閉tcp連線,後續的請求自己重新建立新的tcp連線
介紹乙個概念,往返時間 round-trip time rtt,是指乙個短分組從客戶到伺服器然後再返回客戶端所花費的時間。rtt包括分組傳播時延、分組在中間路由器和交換機上的排隊時延以及分組處理時延。
對於非持續連線,tcp三次握手的前兩次消耗乙個rtt,第三次握手時,客戶端會向該tcp連線傳送乙個http請求報文,然後伺服器在該tcp連線上傳送html檔案。因此,一次請求會消耗兩個rtt加上伺服器傳輸html檔案的時間
對於持續連線,在第一次三次握手建立tcp連線後,後續的http請求就不需要消耗額外的rtt
請求行有三個字段:
狀態行包括:
我們知道,http協議是無狀態的。但是,很多時候,伺服器需要知道請求是由誰發起的,即使用者資訊,或者基於別的需要,伺服器需要知道一些別的資訊。此時,http就使用cookie對使用者進行追蹤。
cookie技術一般有四個元件:
計算機網路 HTTP
引子 前兩天看了 http 和 計算機網路 的第5章 運輸層 為了準確無誤地將資料送達目標處,tcp協議採用了 三次握手 three way handshaking 策略。三次握手 three way handshake 或三次聯絡。廣為流傳的譯名 三次 three way 並不準確。這裡的三次是指...
計算機網路 HTTP
http的報文結構 http有兩類報文 請求報文和響應報文。它們的報文結構由三部分組成,分別為開始行 首部行和實體主體。開始行 用於區分是請求報文還是響應報文。首部行 用來說明瀏覽器 伺服器和報文主體的一些資訊 實體主體 在請求報文中一般都不用這個字段,響應報文中也可能沒有這個字段 在請求報文中,開...
計算機網路 HTTP
uri 包含 url 和 urn。客戶端傳送的請求報文第一行為請求行,包含了方法字段。獲取資源 當前網路請求中,絕大部分使用的是 get 方法。獲取報文首部 和 get 方法類似,但是不返回報文實體主體部分。主要用於確認 url 的有效性以及資源更新的日期時間等。傳輸實體主體 post 主要用來傳輸...