ref: https://javascript.plainenglish.io/what-is-http-3-and-why-does-it-matter-cb7d7b4b600f
這篇文章簡單的敘述何謂 HTTP/3,主要探討 HTTP/3 到底跟 HTTP/1, HTTP/2 的差異是什麼
HTTP/3,也可以稱為 HTTP ove QUIC,這對過往的 HTTP 來說帶來了巨大的改變,因為 HTTP/{1,2} 都是基於 TCP 來傳輸封包,而 HTTP/3 則是仰賴 QUIC (Google 於 2012 所開發的協定,底層基於 UDP)。
TCP 目前普遍被使用到各式各樣的網路應用程中,而 TCP 本身的設計到今日來看也是有不少為人詬病的地方,譬如說 TCP 當初發明的時空背景與當前網路環境已經不同,譬如網際網路中的頻寬大小等
所以後續也有不少的演算法想要針對 TCP 來進行改善,譬如 Congestion Control 相關就有不少演算法可以選擇。
另外一個更直接簡單的就是直接跳過 TCP,直接使用 UDP 做為底層傳輸協定並且於應用層級重新打造一個如 TCP 一樣可信賴的傳送方式,這也是 QUIC 這個協定的基本概念。
透過 QUIC 的幫助,作者提到 HTTP/3 能夠得到下列的好處
Faster request multiplexing
HTTP/2 以前, 瀏覽器每次都只能對 Server 發送一個 Request,這導致網頁讀取速度緩慢,而 HTTP/2 則試圖改善這個機制,不過 TCP 本身的設計就不是針對這類型的使用
譬如眾多封包中只要有一個失敗, TCP 本身就會針對所有發送的 Request 去進行一個重送的動作來確保封包傳輸正常。
HTTP/3 因為不再使用 TCP 為底層協定而是 UDP,所以當上述情況發生時,也只需要針對失敗的 Request 進行重送即可,也因為此協定帶來的好處, HTTP/3 的表現會相較於之前版本來得更快更穩。
Faster Encryption
HTTP/3 允許最初的 HTTP Request 以加密的形式去傳送。過往傳統的 HTTPS 封包傳輸過程中,最初的握手階段交換資訊時,這些還是基於非加密的形式,要等到握手完畢後才可以能力將接下來的資料進行加密。
而 QUIC 本身可以針對 Initial Connection 進行 TLS 的處理,這使得 HTTP/3 於加密方面可以更順利也更簡單。
文章後半部分提到關於目前 HTTP/3 實作的部分,有興趣的人可以參考參考原文
同時也有10000部Youtube影片,追蹤數超過2,910的網紅コバにゃんチャンネル,也在其Youtube影片中提到,...
tcp congestion control 在 (True or False)For TCP congestion control, once a packet ... 的推薦與評價
... <看更多>