Http的持久連線(Keep Alive模式)

2021-07-10 21:06:49 字數 900 閱讀 8322

關於持久連線

http/1.1允許http裝置在事務處理結束之後將tcp連線保持在開啟狀態,以便為未來的http請求重用現存的連線。在事務處理結束之後仍然保持在開啟狀態的tcp連線被稱為持久連線。持久連線會在不同事務之間保持開啟狀態,直到客戶端或伺服器決定將其關閉為止。

優點:重用已對目標伺服器開啟的空閒持久連線,可以避開緩慢的連線建立階段,更快速地進行資料的傳輸。

缺點:管理不當可能會積累出大量的空閒連線,耗費本地客戶端以及遠端伺服器上的資源。

非持久連線會在每個事務處理結束之後關閉。

普通模式,即非keep-alive模式時,每個請求/應答,客戶端和伺服器都要新建乙個連線,完成之後立即斷開連線(http為無連線的協議);

當使用keep-alive模式(又稱為持久連線、連線重用)時,客戶端到伺服器的連線持續有效,之後又出現對伺服器的請求時,避免了重新建立連線。

http連線實際上就是tcp連線和一些使用連線的規則。

假設要訪問 在瀏覽器中輸入這個url時,會執行下圖中所示的步驟:

第(1)~(3)會將伺服器的ip位址和埠號從url中分離出來;

在第(4)步中建立到web伺服器的tcp連線,並在第(5)步通過這條連線發出一條請求報文,在第(6)步讀取響應,並在第(7)步關閉連線。

套接字api允許使用者建立tcp的端點資料結構,將這些端點與遠端伺服器的tcp端點進行連線,並對資料流進行讀寫。tcp api 隱藏了所有底層網路協議的握手細節,以及tcp資料流與ip分組之間的分段和重灌細節。

HTTP之持久連線

http 1.1 允許 http 裝置在事務處理結束之後將 tcp 連線保持在開啟狀態,以便為未來的 http 請求重用現存的連線。在事務處理結束後仍然保持在開啟狀態的 tcp 連線被稱為持久連線。非持久連線會在每個事務結束之後關閉。持久連線會在不同事務之間保持開啟狀態,直到客戶端或伺服器決定將其關...

HTTP協議詳解 持久連線與非持久連線

最近寫作完http協議一節,略做總結 非持久連線是在http 1.0中定義,而對於http 1.1中預設的是持久連線 帶流水線 以下是詳細描述 非持久連線 的概念 某網頁由最基本的 html 和10個jpeg 影象構成,10個jpeg 影象檔案存放在同一臺伺服器中。設這個網頁的url為www.ser...

關於HTTP的持久連線特性

http協議是位於傳輸層之上的應用層協議,其網路層基礎通常是tcp協議。tcp協議是面向連線和流的,因此連線的狀態和控制對於http協議而言相當重要。同時,http是基於報文的,因此如何確定報文長度也是協議中比較重要的一點。persistent connections持久連線 目的 在使用持久連線前...