成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

每一代HTTP協議都解決了什么問題?

網絡 網絡管理
盡管HTTP/2.0解決了應用層的隊頭阻塞問題,傳輸層(TCP)仍然存在隊頭阻塞。由于TCP協議的可靠性,即按順序發送和接收數據,且受到擁塞控制的影響,少量的丟包可能導致整個TCP連接上的所有流被阻塞。

最近簡單研究了HTTP協議的發展歷程,對此進行了一些總結。

讓我們逐一回顧一下HTTP的版本演進:HTTP/1.0 -> HTTP/1.1 -> HTTP/2.0 -> HTTP/3.0(QUIC)。

HTTP/1.0

HTTP 1.0于1996年首次發布,規定了瀏覽器與服務器之間只保持短暫的連接。每次瀏覽器請求都需要與服務器建立一個TCP連接,而在服務器完成請求處理后立即斷開TCP連接。然而,這種方式存在缺陷,因為TCP連接的建立需要經歷三次握手,導致每次HTTP請求都要重新執行這個繁瑣的過程,效率相當低下。

HTTP/1.1

HTTP 1.1于1997年發布,引入了默認的持久連接(Connection: keep-alive),消除了每次HTTP請求都重新建立TCP連接的需求。盡管如此,它并未解決HOL(隊頭)阻塞問題。HOL阻塞指的是當瀏覽器允許的并行請求數用完時,后續請求需要等待前面的請求完成。

HTTP/2.0

HTTP 2.0在2015年發布,通過引入多路復用解決了HOL阻塞問題。這一版本將一個TCP連接劃分為多個流(Stream),每個流中可以傳輸多個消息(Message),而每個消息則由多個最小的二進制幀(Frame)組成。通過為每個用戶操作分配一個流編號(Stream ID),建立了與服務端之間的TCP通道。這種方式使得客戶端的每個請求都可以開始下一次請求,從而解決了應用層的隊頭阻塞。

不過,盡管HTTP/2.0解決了應用層的隊頭阻塞問題,傳輸層(TCP)仍然存在隊頭阻塞。由于TCP協議的可靠性,即按順序發送和接收數據,且受到擁塞控制的影響,少量的丟包可能導致整個TCP連接上的所有流被阻塞。

HTTP/3.0

HTTP 3.0的第一個草案于2020年發布,并于2022年6月6日正式成為RFC9114標準。HTTP/3.0摒棄了TCP,采用UDP上的QUIC協議來傳輸應用層數據,從而消除了傳輸層的隊頭阻塞問題。

QUIC使用UDP協議在兩個端點之間建立多個獨立的流(Stream),這意味著在大多數情況下,一個流的數據包丟失不會對其他流產生影響。這一創新有效地解決了隊頭阻塞問題,使得HTTP/3.0在性能和效率方面邁出了一大步。

HTTP 3.0 還沒有大面積的使用,我能想到的問題只有兩個。

第一個是 CN 地區對 UDP 的 QOS 或阻斷,尚不清楚后續是否會放寬。

第二個是UDP協議依賴四元組信息,大部分沒有公網IPv4的設備都需要經過路由器或防火墻的NAT轉換才能和服務端進行通信。NAT 設備無法知道 UDP 連接什么時候斷開,因此在刪除自身的 NAT記錄時可能會導致尚在通信中的 UDP 連接斷開。

后面同事和我講了 QUIC 協議有一個 ConnectionId 之類的東西,就算網絡環境飄了,他都可以把連接恢復起來。

我查了一下,專業術語是:Connection Migration,有一個提案:https://datatracker.ietf.org/doc/html/draft-ietf-quic-transport-23#section-9 。

最后附上其他大佬畫的一張圖。

圖片圖片

參考

? https://github.com/ByteByteGoHq/system-design-101

責任編輯:武曉燕 來源: 整點bug
相關推薦

2024-11-05 08:16:04

HTTP/3HTTP 2.0QUIC

2020-11-02 13:25:45

Redis數據庫開源

2011-11-30 15:28:32

在線協作系統

2023-11-08 14:03:47

數據可視化數字化轉型

2014-09-28 10:28:59

Docker云計算

2020-06-15 08:06:25

ES數據

2025-06-16 03:22:00

2024-12-09 09:30:00

適配器模式設計模式代碼

2019-04-26 13:01:16

ServiceMesh微服務架構

2023-05-31 07:32:37

2022-04-04 07:51:32

Web框架

2021-12-15 23:42:56

Webpack原理實踐

2021-03-23 18:32:46

JavaScript編程開發

2023-09-14 09:35:08

iPhone系統版本

2017-10-16 00:57:23

單元測試代碼覆蓋

2021-07-16 06:56:50

邊緣計算分布式

2021-10-16 12:52:17

Builder模式生成器

2020-05-22 10:02:43

Python語言編程

2012-07-30 09:49:44

云計算

2018-11-22 14:31:05

GoogleQUICHTTP
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久小视频| 国产成人在线看 | 一区二区在线免费播放 | 国产高清精品在线 | 国产精品激情在线 | 九九综合 | 人人干免费 | 久久一区精品 | www国产亚洲精品 | 人人干人人干人人 | 天天看天天操 | 欧美精品一区二区三区四区 在线 | 丝袜一区二区三区 | 国产在线a | 国产午夜精品理论片a大结局 | 中文字幕亚洲视频 | 久久国产精品99久久久久久丝袜 | 亚洲成人在线网 | 午夜爱爱毛片xxxx视频免费看 | 538在线精品 | 午夜国产一区 | 精品久久一区二区 | 激情影院久久 | 国产一区二区三区精品久久久 | 国产福利精品一区 | 午夜网| 97人人澡人人爽91综合色 | 亚洲国产欧美在线人成 | 久久成人免费观看 | 夜夜摸天天操 | 麻豆91精品91久久久 | 国产成人91视频 | 2021狠狠干 | 亚洲成人一区 | 日日夜夜精品视频 | 国产精品一区二区不卡 | 久久久久久国产精品 | 黄色在线观看国产 | 在线视频91 | 国产成人一区二区三区 | 欧美成人精品在线观看 |