什麼是HTTP


什麼是HTTP / 3?

(IETF)官員透露,QUIC上的HTTP實驗協議應重命名為HTTP / 3。

從HTTP / 1.1(於1999年發佈)到HTTP / 2(於2015年發佈)的開發之間存在很大的差距,隨著將於2019年發佈的HTTP / 3的發展,情況正在發生變化。

HTTP / 3是Google的QUIC協議的演進。 這是Mark Nottingham的建議。

那麼,QUIC是什麼?

QUIC(快速UDP Internet連接)是一種新的傳輸方式,與TCP相比,它減少了延遲。 從表面上看,QUIC與在UDP上實現的TCP + TLS + HTTP / 2非常相似。 由於TCP是在操作系統內核和中間盒固件中實現的,因此對TCP進行重大更改幾乎是不可能的。 但是,由於QUIC是建立在UDP之上的,因此不受任何限制。

現有TCP + TLS + HTTP2上的QUIC的關鍵功能包括

  • · 大大減少了連接建立時間
  • · 改善擁塞控制
  • · 多路複用,無線路阻塞
  • · 前向糾錯
  • · 連接遷移

谷歌表示,從Chrome到Google服務器的所有請求中,大約有一半是通過QUIC進行服務的,並且正在繼續增加QUIC流量,最終使其成為從Google客戶端(包括Chrome和移動應用)到Google服務器的默認傳輸。 他們計劃正式向IETF提出QUIC作為互聯網標準的建議,但他們首先要做一些整理工作,例如更改有線格式並將其參考實現從SPDY-over-QUIC更新為HTTP2-over-QUIC(當前的HTTP-over- QUIC協議草案使用新發布的TLS 1.3協議)。 在未來的幾個月中,Google還計劃降低握手開銷,以提供更好的服務器端可伸縮性,改善前向糾錯和擁塞控制,並增加對多路徑連接的支持。

什麼是HTTP / 3?

Reddit用戶對TCP vs QUIC的詳盡解釋:

TCP是在我們仍在通過比現在更大的丟包率的網絡上傳輸數據包並且計算機系統響應TCP消息的時間更長時開發的。 例如,即使僅在5秒內就無法完成TCP握手,連接主機的超時仍然是20秒,即使您不太可能獲得答案。 這些長時間的延遲是為什麼網絡應用程序有時會長時間卡住的原因。 自從該協議於70年代發明以來,我們就沒有碰過這些延遲,儘管我們看到了可靠性和速度方面的巨大改進。

協議開發人員並沒有最終減少這些不會改變數據包並且與當前TCP實現基本兼容的默認值,而是開始使用UDP,然後在其之上實現自己的TCP。 向IPv6過渡是將TCP更新到可解決其大多數問題(主要是超時,窗口大小和TCP啟動緩慢)的理想時間。 可以在您的操作系統中調整一些值,但是超時是最煩人的之一。 如果您殺死一個掛起5秒鐘的TCP套接字,您的操作系統仍將其保持打開狀態,直到20秒鐘到期,這會消耗系統資源。

什麼是HTTP / 3?

(本文翻譯自Grigor Khachatryan的文章《What is HTTP/3 ?》,參考:https://medium.com/devgorilla/what-is-http-3-94335c57823f)


分享到:


相關文章: