什么是TCP網絡?
熱連接就是活躍的連接,冷連接應該是指新連接的意思。因為 TCP 接連建立需要一定的耗時,還要握手,所以 HTTP 應用保持長連接的話,就可以在多個請求之間復用一個 TCP 連接,這樣只需要一次連接和握手,從而大幅度提高資源的加載速度。
從 HTTP1.1 開始,長連接和多路復用就就已經被主流瀏覽器支持,但是某些網站或者不標準的客戶端,還是會在一次請求完成之后關閉連接,變成短連接,從而造成資源的浪費。一般來說,請求頭或者響應頭字段 Connection: keep-alive 用來告訴另一方自己希望保持連接,并持續復用,直到服務器設定的超時限制達到,或者客戶端認為所有資源已經加載完成并主動斷開連接。
HTTP2 則在原有長連接和多路復用的基礎上,實現了頭部壓縮和封包發送,以及無序請求-響應模型。HTTP1 的多路復用必須等待前一個請求完成才發送下一個請求,這造成了同步阻塞的問題,而 HTTP2 解決了這個問題,客戶端給每一個請求打上序號發給服務器,服務器響應時返回這個序號,客戶端就知道這個響應屬于那個請求,從而實現了無序異步的多路復用,大大提高了客戶端的并發能力并加快了資源的加載。同時 HTTP1 客戶端還會在檢測當前連接擁塞(被前一個連接長時占用)時開新連接加載其他資源。而HTTP2因為無需等待,則可以永遠復用一個連接,減少了連接資源的消耗。
下一篇出國旅游做網紅直播