http長短連線和長短輪詢

看風景就發表於2017-10-21

http長連線

http長連線是指http的請求頭和響應頭的均有connection: keep-alive的請求,
也就是客戶端和服務端均為keep-alive的請求.

實際上,http是請求/響應式的,無長短之分,長連線實際上是指TCP的連線為長連線。
如此,多個http請求就可以複用一個TCP連線,減少了了TCP連線建立和斷開的消耗。

http的長連線是從http1.1開始的,http1.0沒有keep-alive這個設定。

長連線相應欄位

connection:keep-alive 請求為長連線
timeout:30 TCP連線超時時間,超時後會斷開連線
max:5 TCP連線被http請求最大複用次數,每有一個http請求用它,max會減1,直至max為0,強制斷開連線

http短連線

客戶端或服務端請求頭connection:closed的http請求。

http的長輪詢

是指伺服器接收到請求後,有資料會立即返回,沒有資料則會將連線hold住,掛起一段時間,
直到有資料或者超時返回。客戶端收到響應後,會立即重新發起一個長輪詢,以保證能夠及時的接收到
服務端的實時資料。

長輪詢會佔用伺服器的連線數和資源,功能是可以減少客戶端的請求次數。

http的短輪詢

服務端收到請求後,無論有無資料都立即返回,客戶端定時的向服務端傳送請求。

短輪詢實時性低,並且會佔用伺服器的資源。

相關文章