回覆列表
  • 1 # 使用者8156776498399

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

  • 中秋節和大豐收的關聯?
  • 機制竹炭的工藝流程?