精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

HTTP/2做錯了什么?剛剛輝煌2年就要被棄用了!?

網絡 通信技術
最近一段時間以來,關于HTTP/3的新聞有很多,越來越多的國際大公司已經開始使用HTTP/3了。

[[357747]]

最近一段時間以來,關于HTTP/3的新聞有很多,越來越多的國際大公司已經開始使用HTTP/3了。

 

所以,HTTP/3已經是箭在弦上了,全面使用只是個時間問題,那么,作為一線開發者,我們也是時候了解下到底什么是HTTP/3,為什么需要HTTP/3了。

于是,我準備開始寫這篇文章,但是要想把HTTP/3的事情說清楚,一定繞不過的問題就是HTTP/2,所以寫著寫著,篇幅越來越多,于是我就把他們分成了上下兩篇。

這一篇我們主要來回顧下HTTP/2,然后再來重點看一下HTTP/2存在哪些問題,為什么要被棄用。

HTTP/2 輝煌不在?

雖然HTTP/2標準在2015年5月就以RFC 7540正式發表了,并且多數瀏覽器在2015年底就支持了。

但是,真正被廣泛使用起來要到2018年左右,但是也是在2018年,11月IETF給出了官方批準,認可HTTP-over-QUIC成為HTTP/3。

2018年的時候,我寫過一篇文章介紹《HTTP/2到底是什么?》,那時候HTTP/2還是個新技術,剛剛開始有軟件支持,短短兩年過去了,現在HTTP/3已經悄然而至了。

根據W3Techs的數據,截至2019年6月,全球也僅有36.5%的網站支持了HTTP/2。所以,可能很多網站還沒開始支持HTTP/2,HTTP/3就已經來了。

所以,對于很多網站來說,或許直接升級HTTP/3是一個更加正確的選擇。

回顧 HTTP/2

在閱讀本文之前,強烈建議大家先閱讀下《HTTP/2到底是什么?》這篇文章,這里面介紹了HTTP的歷史,介紹了各個版本的HTTP協議的誕生的背景。

當你讀到這里的時候,我默認大家對HTTP/2有了一定的基本了解。

我們知道,HTTP/2的誕生,主要是為了解決HTTP/1.1中的效率問題,HTTP/2中最核心的技術就是多路復用技術,即允許同時通過單一的HTTP/2.0連接發起多重的請求-響應消息。

 

同時還實現了二進制分幀、header壓縮、服務端推送等技術。

從HTTP/1.0誕生,一直到HTTP/2,在這24年里,HTTP協議已經做過了三次升級,但是有一個關鍵的技術點是不變的,那就是這所有的HTTP協議,都是基于TCP協議實現的。

流水的HTTP,鐵打的TCP。這是因為相對于UDP協議,TCP協議更加可靠。

雖然在HTTP/1.1的基礎上推出HTTP/2大大的提升了效率,但是還是有很多人認為這只是個"臨時方案",這也是為什么剛剛推出沒多久,業內就開始大力投入HTTP/3的研發與推廣了。

而這背后的深層次原因也正是因為他還是基于TCP協議實現的。TCP協議雖然更加可靠,但是還是存在著一定的問題,接下來具體分析下。

HTTP/2 問題

隊頭阻塞

隊頭阻塞翻譯自英文head-of-line blocking,這個詞并不新鮮,因為早在HTTP/1.1時代,就一直存在著隊頭阻塞的問題。

但是很多人在一些資料中會看到有論點說HTTP/2解決了隊頭阻塞的問題。但是這句話只對了一半。

只能說HTTP/2解決了HTTP的隊頭阻塞問題,但是并沒有解決TCP隊頭阻塞問題!

如果大家對于HTTP的歷史有一定的了解的話,就會知道。HTTP/1.1相比較于HTTP/1.0來說,最主要的改進就是引入了持久連接(keep-alive)。

所謂的持久連接就是:在一個TCP連接上可以傳送多個HTTP請求和響應,減少了建立和關閉連接的消耗和延遲。

 

引入了持久連接之后,在性能方面,HTTP協議有了明顯的提升。

另外,HTTP/1.1允許在持久連接上使用請求管道,是相對于持久連接的又一性能優化。

所謂請求管道,就是在HTTP響應到達之前,可以將多條請求放入隊列,當第一條HTTP請求通過網絡流向服務器時,第二條和第三條請求也可以開始發送了。在高時延網絡條件下,這樣做可以降低網絡的環回時間,提高性能。

 

但是,對于管道連接還是有一定的限制和要求的,其中一個比較關鍵的就是服務端必須按照與請求相同的順序回送HTTP響應。

這也就意味著,如果一個響應返回發生了延遲,那么其后續的響應都會被延遲,直到隊頭的響應送達。這就是所謂的HTTP隊頭阻塞。

但是HTTP隊頭阻塞的問題在HTTP/2中得到了有效的解決。HTTP/2廢棄了管道化的方式,而是創新性的引入了幀、消息和數據流等概念。客戶端和服務器可以把 HTTP 消息分解為互不依賴的幀,然后亂序發送,最后再在另一端把它們重新組合起來。

 

因為沒有順序了,所以就不需要阻塞了,就有效的解決了HTTP隊頭阻塞的問題。

但是,HTTP/2仍然會存在TCP隊頭阻塞的問題,那是因為HTTP/2其實還是依賴TCP協議實現的。

TCP傳輸過程中會把數據拆分為一個個按照順序排列的數據包,這些數據包通過網絡傳輸到了接收端,接收端再按照順序將這些數據包組合成原始數據,這樣就完成了數據傳輸。

但是如果其中的某一個數據包沒有按照順序到達,接收端會一直保持連接等待數據包返回,這時候就會阻塞后續請求。這就發生了TCP隊頭阻塞。

HTTP/1.1的管道化持久連接也是使得同一個TCP鏈接可以被多個HTTP使用,但是HTTP/1.1中規定一個域名可以有6個TCP連接。而HTTP/2中,同一個域名只是用一個TCP連接。

所以,在HTTP/2中,TCP隊頭阻塞造成的影響會更大,因為HTTP/2的多路復用技術使得多個請求其實是基于同一個TCP連接的,那如果某一個請求造成了TCP隊頭阻塞,那么多個請求都會受到影響。

TCP握手時長

一提到TCP協議,大家最先想到的一定是他的三次握手與四次關閉的特性。

因為TCP是一種可靠通信協議,而這種可靠就是靠三次握手實現的,通過三次握手,TCP在傳輸過程中可以保證接收方收到的數據是完整,有序,無差錯的。

但是,問題是三次握手是需要消耗時間的,這里插播一個關于網絡延遲的概念。

網絡延遲又稱為 RTT(Round Trip Time)。他是指一個請求從客戶端瀏覽器發送一個請求數據包到服務器,再從服務器得到響應數據包的這段時間。RTT 是反映網絡性能的一個重要指標。

 

我們知道,TCP三次握手的過程客戶端和服務器之間需要交互三次,那么也就是說需要消耗1.5 RTT。

另外,如果使用的是安全的HTTPS協議,就還需要使用TLS協議進行安全數據傳輸,這個過程又要消耗一個RTT(TLS不同版本的握手機制不同,這里按照最小的消耗來算)

那么也就是說,一個純HTTP/2的連接,需要消耗1.5個RTT,如果是一個HTTPS連接,就需要消耗3-4個RTT。

而具體消耗的時長根據服務器和客戶端之間的距離則不盡相同,如果比較近的話,消耗在100ms以內,對于用來說可能沒什么感知,但是如果一個RTT的耗時達到300-400ms,那么,一次連接建立過程總耗時可能要達到一秒鐘左右,這時候,用戶就會明顯的感知到網頁加載很慢。

升級TCP是否可行?

基于上面我們提到的這些問題,很多人提出來說:既然TCP存在這些問題,并且我們也知道這些問題的存在,甚至解決方案也不難想到,為什么不能對協議本身做一次升級,解決這些問題呢?

其實,這就涉及到一個"協議僵化"的問題。

這樣講,我們在互聯網上瀏覽數據的時候,數據的傳輸過程其實是極其復雜的。

我們知道的,想要在家里使用網絡有幾個前提,首先我們要通過運行商開通網絡,并且需要使用路由器,而路由器就是網絡傳輸過程中的一個中間設備。

中間設備是指插入在數據終端和信號轉換設備之間,完成調制前或解調后某些附加功能的輔助設備。例如集線器、交換機和無線接入點、路由器、安全解調器、通信服務器等都是中間設備。

在我們看不到的地方,這種中間設備還有很多很多,一個網絡需要經過無數個中間設備的轉發才能到達終端用戶。

如果TCP協議需要升級,那么意味著需要這些中間設備都能支持新的特性,我們知道路由器我們可以重新換一個,但是其他的那些中間設備呢?尤其是那些比較大型的設備呢?更換起來的成本是巨大的。

而且,除了中間設備之外,操作系統也是一個重要的因素,因為TCP協議需要通過操作系統內核來實現,而操作系統的更新也是非常滯后的。

所以,這種問題就被稱之為"中間設備僵化",也是導致"協議僵化"的重要原因。這也是限制著TCP協議更新的一個重要原因。

所以,近些年來,由IETF標準化的許多TCP新特性都因缺乏廣泛支持而沒有得到廣泛的部署或使用!

放棄TCP?

上面提到的這些問題的根本原因都是因為HTTP/2是基于TPC實現導致的,而TCP協議自身的升級又是很難實現的。

那么,剩下的解決辦法就只有一條路,那就是放棄TCP協議。

放棄TCP的話,就又有兩個新的選擇,是使用其他已有的協議,還是重新創造一個協議呢?

看到這里,聰明的讀者一定也想到了,創造新的協議一樣會受到中間設備僵化的影響。近些年來,因為在互聯網上部署遭遇很大的困難,創造新型傳輸層協議的努力基本上都失敗了!

所以,想要升級新的HTTP協議,那么就只剩一條路可以走了,那就是基于已有的協議做一些改造和支持,UDP就是一個絕佳的選擇了。

總結

因為HTTP/2底層是采用TCP協議實現的,雖然解決了HTTP隊頭阻塞的問題,但是對于TCP隊頭阻塞的問題卻無能為力。

TCP傳輸過程中會把數據拆分為一個個按照順序排列的數據包,這些數據包通過網絡傳輸到了接收端,接收端再按照順序將這些數據包組合成原始數據,這樣就完成了數據傳輸。

但是如果其中的某一個數據包沒有按照順序到達,接收端會一直保持連接等待數據包返回,這時候就會阻塞后續請求。這就發生了TCP隊頭阻塞。

另外,TCP這種可靠傳輸是靠三次握手實現的,TCP三次握手的過程客戶端和服務器之間需要交互三次,那么也就是說需要消耗1.5 RTT。如果是HTTPS那么消耗的RTT就更多。

而因為很多中間設備比較陳舊,更新換代成本巨大,這就導致TCP協議升級或者采用新的協議基本無法實現。

所以,HTTP/3選擇了一種新的技術方案,那就是基于UDP做改造,這種技術叫做QUIC。

那么問題來了,HTTP/3是如何使用的UDP呢?做了哪些改造?如何保證連接的可靠性?UDP協議就沒有僵化的問題了嗎?

這些問題我們在下一篇中深入分析。敬請期待!

 

參考資料:https://http3-explained.haxx.se/https://baike.baidu.com/item/中間設備/3688874https://time.geekbang.org/column/article/150159https://juejin.cn/post/6844903853985366023https://time.geekbang.org/column/article/279164

 

責任編輯:武曉燕 來源: 51CTO專欄
相關推薦

2020-04-07 11:15:03

Zoom加密網絡安全

2023-03-07 12:05:29

2022-07-04 09:32:44

TCPHTTP 3.0協議

2022-05-27 08:44:09

springStarter配置

2019-06-26 10:16:52

微軟Windows谷歌

2023-06-13 10:01:48

SpringOpenFeign

2020-07-06 14:16:22

Fastjson漏洞開源

2023-01-12 22:06:52

JVMGraalVMSpring

2024-01-08 08:23:07

Go語言代碼

2025-02-24 10:36:15

2019-11-29 07:57:21

工業4.0物聯網IOT

2020-08-24 15:49:28

代碼bug出錯

2021-10-30 19:57:00

HTTP2 HTTP

2015-10-16 10:17:55

復盤手游80天環游地球

2024-11-05 08:16:04

HTTP/3HTTP 2.0QUIC

2023-04-03 08:08:54

2015-04-23 09:29:05

iOSpython

2015-04-23 10:51:13

iOSpython

2018-06-15 21:32:17

微視騰訊頭騰

2020-01-02 10:52:11

Python 開發編程語言
點贊
收藏

51CTO技術棧公眾號

国产日产欧美一区二区| 午夜精品三级视频福利| 波多野结衣在线免费观看| www久久日com| 99国产精品国产精品久久| 国产成人极品视频| 亚洲 欧美 变态 另类 综合| 99精品在免费线中文字幕网站一区| 黄网站色欧美视频| 亚洲欧美日韩在线综合| 性生交大片免费看女人按摩| 久久av最新网址| 久久国产精品电影| 黄瓜视频污在线观看| 国产精品欧美一区二区三区不卡| 精品久久久久久久久久国产| 欧美h视频在线观看| 性插视频在线观看| 国产真实乱对白精彩久久| 91禁外国网站| 欧美精品成人久久| 精品国产一区二区三区久久久樱花 | 久久老司机精品视频| 成人激情视频| 日韩电影中文字幕| 欧美一级特黄aaa| 亚洲第一会所001| 亚洲成人免费在线观看| 婷婷视频在线播放| 国产一二在线观看| 94色蜜桃网一区二区三区| 91丝袜美腿美女视频网站| 日本欧美www| 国产精品综合| 97精品伊人久久久大香线蕉 | 亚洲大型综合色站| 中文字幕黄色大片| a√在线中文网新版址在线| 91在线高清观看| 国产一区二区免费电影| 亚洲va欧美va| 国产二区国产一区在线观看| 国产精品香蕉av| av手机天堂网| 日韩精品一二三四| 日韩暖暖在线视频| www.色国产| 亚洲免费在线| 欧美性资源免费| 天天操中文字幕| 亚洲精品九九| 91福利视频在线观看| 国产污污视频在线观看| 亚洲黄网站黄| 97超碰蝌蚪网人人做人人爽| 日韩黄色a级片| 99国产精品| 午夜精品美女自拍福到在线| 色播视频在线播放| 国产亚洲一级| 国产成人精品综合久久久| 波多野结衣在线观看视频| 久久精品主播| 国产精品黄视频| 一级特黄特色的免费大片视频| 美国三级日本三级久久99| 国产精品久久久久久av下载红粉| 伊人成人在线观看| 激情成人综合网| 91视频99| 免费黄色在线视频网站| 欧美高清在线一区二区| 一本色道婷婷久久欧美| www在线视频| 亚洲成人动漫一区| 国产91对白刺激露脸在线观看| 欧美日韩免费看片| 欧美日韩视频在线一区二区| 色婷婷一区二区三区在线观看| 日韩精品视频中文字幕| 亚洲成年网站在线观看| 中文乱码人妻一区二区三区视频| 九九亚洲视频| 精品国产一区久久久| 久久久久久久福利| 久久精品一区二区国产| 91免费电影网站| 天堂av2024| 亚洲国产精品黑人久久久| 公共露出暴露狂另类av| 欧美aaaaaaa| 色妞www精品视频| 午夜视频在线网站| 欧美色图五月天| www.日韩欧美| 免费在线观看黄网站| 免费亚洲一区| 不卡一卡2卡3卡4卡精品在| 欧美香蕉爽爽人人爽| 亚洲特级片在线| 久久国产成人精品国产成人亚洲| 国精品产品一区| 亚洲成人中文字幕| 欧美性猛交xxxx乱大交少妇| 一本色道久久综合一区| 成人免费福利在线| 欧洲一区av| 一区二区三区中文字幕| chinese少妇国语对白| 一区中文字幕| 中文字幕国产精品| 天堂网一区二区三区| 国内精品自线一区二区三区视频| 久久综合婷婷综合| 中文字幕资源网在线观看| 色久优优欧美色久优优| av免费观看不卡| 四虎成人av| 日韩女优在线播放| 凸凹人妻人人澡人人添| 亚洲免费色视频| 亚洲精品怡红院| 欧美日韩夜夜| 久久久久久久成人| 99re只有精品| 国产精品电影一区二区| 虎白女粉嫩尤物福利视频| 99re91这里只有精品| 久久久91精品国产| 中文字幕精品无码亚| 99re这里只有精品视频首页| 久久亚洲a v| 精品一区二区三区在线观看视频| 中文字幕久久久av一区| 无码人妻aⅴ一区二区三区有奶水| jizz一区二区| 缅甸午夜性猛交xxxx| 日本在线成人| 欧美精品免费看| 国产欧美久久久| 国产精品麻豆一区二区 | 国产一区二区三区在线观看精品| 日韩欧美精品久久| 外国成人直播| 国产亚洲精品日韩| aaa在线视频| 久久你懂得1024| 日本精品一区二区三区四区| 亚洲警察之高压线| 欧美重口另类videos人妖| 无码精品人妻一区二区三区影院| 亚洲一二三级电影| 亚洲色图欧美另类| 亚洲人妖在线| 久久国产精品免费一区| 新版的欧美在线视频| 精品视频久久久| 日本黄色一级视频| 国产女人18水真多18精品一级做| 欧美精品成人网| 日韩视频在线观看| 91久久精品在线| 手机av免费在线| 亚洲高清不卡av| 日韩中文字幕在线观看视频| 久久久午夜精品理论片中文字幕| 超碰影院在线观看| 欧美色图国产精品| 国产有码一区二区| 污视频在线免费观看网站| 精品国产免费一区二区三区四区 | 国产亚洲福利社区| 另类专区亚洲| 久久精品99国产精品酒店日本| 国产青青草视频| 亚洲成人7777| 先锋影音av在线| 国产精品主播直播| 欧美成人免费在线观看视频| 青青草91久久久久久久久| 成人黄色午夜影院| 1区2区3区在线| 在线观看久久av| 成人av无码一区二区三区| 精品国产福利视频| 国产又粗又猛又爽又黄的视频四季 | 精品福利在线看| 国产一二三av| 成人免费毛片app| 久久黄色免费看| 亚洲理论电影网| 久久久婷婷一区二区三区不卡| jvid一区二区三区| 欧美高清视频一区二区| 九色视频在线播放| 91精品国产色综合久久久蜜香臀| 日韩精品在线不卡| 中文av一区二区| 2025中文字幕| 男人的天堂久久精品| 黄色成人在线免费观看| 伊人久久大香线蕉av不卡| 亚洲aⅴ日韩av电影在线观看 | 国产精品大片免费观看| 日韩成人av网站| 国产一区二区三区亚洲| 国产这里只有精品| 成人福利av| 色综合久久天天综线观看| 福利在线观看| 亚洲韩国欧洲国产日产av| 一区二区三区日| 在线观看免费一区| 狠狠躁夜夜躁人人爽天天高潮| 日韩一区欧美一区| 97在线观看免费视频| 成人av在线网| 九九热视频免费| 蜜臀久久99精品久久久久宅男| 男人添女荫道口图片| 国产精品成人a在线观看| 欧美国产二区| 天堂综合网久久| 国产亚洲自拍偷拍| 亚洲精品18| 91精品天堂| 国产一区二区三区视频在线 | 131美女爱做视频| 国产精品magnet| 一区二区免费在线视频| 精品在线观看入口| 精品国产综合区久久久久久| jazzjazz国产精品麻豆| 成人国产精品色哟哟| 精品福利在线| 国产精品私拍pans大尺度在线| 久久sese| 国产高清在线不卡| 日韩高清中文字幕一区二区| 2019国产精品自在线拍国产不卡| 亚洲妇熟xxxx妇色黄| 欧美久久久精品| 羞羞污视频在线观看| 久久久精品欧美| 成人黄色网址| 欧美另类老女人| 羞羞视频在线免费国产| 色综合男人天堂| 免费在线看污片| 国内伊人久久久久久网站视频| 国产一线二线在线观看| 欧美极品少妇与黑人| 九色91在线| 欧美夜福利tv在线| 桃花岛tv亚洲品质| 国产精品一区二区久久久| 伊人久久一区| 91在线观看网站| 国产区精品视频在线观看豆花| 国产伦精品一区二区三区照片| 乱中年女人伦av一区二区| 久久av一区二区| 国产亚洲一区二区三区不卡| 五月天国产一区| 一本一本久久a久久综合精品| 成人免费看片'免费看| 精品二区久久| 粉嫩虎白女毛片人体| 精品制服美女丁香| 欧美一级大片免费看| 不卡电影一区二区三区| 娇妻被老王脔到高潮失禁视频| 国产精品久久久久久久久免费相片| 丰满少妇被猛烈进入一区二区| 亚洲一区中文日韩| aaaaaa毛片| 51精品秘密在线观看| 欧美 日韩 国产 成人 在线 91| 亚洲精品乱码久久久久久按摩观| 国产日韩精品在线看| 精品国产美女在线| 2021天堂中文幕一二区在线观| 国产精品aaaa| 色悠久久久久综合先锋影音下载| 狠狠色噜噜狠狠色综合久 | 99视频有精品| 永久免费观看片现看| 亚洲制服丝袜av| 日韩精选在线观看| 精品奇米国产一区二区三区| 免费毛片在线| 欧美激情视频在线观看| 悠悠资源网亚洲青| 18成人免费观看网站下载| 蜜臀91精品国产高清在线观看| 在线不卡日本| 99精品国产一区二区青青牛奶| 国产精品视频中文字幕| 成年人国产精品| 小向美奈子av| 日本韩国欧美一区| 亚洲成人av综合| 中文字幕亚洲综合久久| 久久影院午夜精品| 91视频8mav| 成人在线一区| 六月激情综合网| 成人av在线资源| 国产高潮国产高潮久久久91| 色婷婷狠狠综合| 欧美视频xxx| 久久在线免费观看视频| 亚洲第一会所| 欧美激情导航| 亚洲精选国产| 国产精品欧美性爱| 欧美国产视频在线| 天堂在线免费观看视频| 精品久久久久一区| gogo在线高清视频| 国产精品一区久久久| 自拍亚洲一区| www.浪潮av.com| 成人黄色av电影| 婷婷色中文字幕| 欧美疯狂做受xxxx富婆| aaa在线观看| 国产精品毛片a∨一区二区三区|国| 欧美三级午夜理伦三级在线观看| 大胆欧美熟妇xx| 国产成人综合在线| 国产精品三区在线观看| 欧美日韩国产小视频在线观看| 九一国产在线| 国产成人在线亚洲欧美| 沈樵精品国产成av片| 国产免费成人在线| 91免费精品国自产拍在线不卡| 久久久久久天堂| 亚洲精品一区在线观看| av老司机在线观看| 国产精品久久久久久久小唯西川| 欧美区日韩区| 亚洲色图欧美另类| 香港成人在线视频| 天天干视频在线| 欧美在线影院在线视频| 外国成人在线视频| 日本免费不卡一区二区| 91日韩一区二区三区| 6080午夜伦理| 中文字幕日韩欧美在线| 成人黄色免费观看| 在线观看欧美亚洲| 国产精品综合一区二区三区| 久久久久久久国产精品毛片| 精品不卡在线视频| 岛国av在线播放| 欧美三日本三级少妇三99| 日本欧美一区二区三区乱码| 亚洲人做受高潮| 日韩一区二区视频| av人人综合网| 日韩精品国内| 久久99国产精品免费| 免费视频一二三区| 亚洲加勒比久久88色综合| 我爱我色成人网| 国产一区一区三区| bt欧美亚洲午夜电影天堂| 区一区二在线观看| 久久精品国产一区二区电影| 一区二区三区国产好| 欧美三级在线观看视频| 国产欧美一区二区在线| 国产一区二区三区三州| 国模精品系列视频| 精品国产99| 制服.丝袜.亚洲.中文.综合懂| 精品高清美女精品国产区| 在线免费观看黄| 国产精品成人一区二区三区| 丝袜a∨在线一区二区三区不卡 | 综合激情网站| 国产精品无码午夜福利| 欧美三级资源在线| 男男gaygays亚洲| 天天好比中文综合网| 国产福利91精品一区二区三区| 久久久黄色大片| 久久久av一区| 自拍亚洲一区| 影音先锋资源av| 欧美三级电影在线看| 国产美女高潮在线观看| 综合视频免费看| 国产日韩成人精品| 亚洲av无码专区在线| 国产精品永久在线| 一本色道久久综合亚洲精品不|