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

網絡面經:HTTP 2.0的這些新特性,是時候了解一下了

網絡 通信技術
面試中關于HTTP 2.0的面試題并不多,但基于HTTP 2.0的應用已經很多了,比如谷歌的gRPC框架就是基于HTTP 2.0來提升效率的。同時,HTTP 1.0中的存在的很多缺陷也都在HTTP 2.0中得到了解決。

[[420219]]

面試中關于HTTP 2.0的面試題并不多,但基于HTTP 2.0的應用已經很多了,比如谷歌的gRPC框架就是基于HTTP 2.0來提升效率的。同時,HTTP 1.0中的存在的很多缺陷也都在HTTP 2.0中得到了解決。

所以,如果你在面試中脫穎而出,同時,在實踐中更好的理解類似gRPC這類框架的實現,了解HTTP 2.0還是非常必要的。而且HTTP 2.0也在很多場景下逐步替代HTTP 1.0。

HTTP 1.0存在的問題

了解過HTTP 1.0的協議實現之后,會發現它存在不少問題。

問題一:TCP連接數限制。為了避免網絡擁堵,占用過多的CPU和內存。因此,不同的瀏覽器會限制TCP連接的數量。

問題二:隊頭阻塞問題。隊頭阻塞(Head Of Line Blocking),每個TCP同時只能處理一個HTTP請求,瀏覽器遵循FIFO原則,如果上一個沒返回后續請求會被阻塞。

雖然提出了管道化(Pipelining)方案,但依舊存在諸多問題。比如,第一個響應慢還是會阻塞后續響應;服務器為了按序返回需要緩存多個響應,占用更多資源;瀏覽器中途斷連重試服務器可能得重新處理多個請求;還有必須客戶端 - 代理 - 服務器都支持管線化。

問題三:Header內容過多,每次都需重復發送,沒有相應的壓縮傳輸優化方案;

問題四:為了減少請求數,需做文件合并等優化工作,但同時會增加單個請求的延遲;

問題五:明文傳輸不安全;

HTTP 2.0的出現

針對HTTP 1.0的問題,RFC 7540定義了HTTP 2.0的協議規范和細節。HTTP 2.0的實現是基于SPDY協議的一些標準來實現的。

HTTP 2.0提供了:二進制分幀、首部壓縮、多路復用、請求優先級、服務器推送等優化。

HTTP 2.0是在SPDY(An experimental protocol for a faster web, The Chromium Projects)基礎上形成的下一代互聯網通信協議。HTTP/2 的目的是通過支持請求與響應的多路復用來較少延遲,通過壓縮HTTPS首部字段將協議開銷降低,同時增加請求優先級和服務器端推送的支持。

什么是SPDY協議

SPDY是Google開發的基于TCP協議的應用層協議。目標是優化HTTP協議的性能,通過壓縮、多路復用和優先級等技術,縮短網頁的加載時間并提高安全性。協議的核心思想是盡量減少TCP連接數。SPDY并不是一種用于替代HTTP的協議,而是對HTTP協議的增強。

互聯網工程任務組(IETF)對谷歌提出的SPDY協議進行了標準化,于2015年5推出了類似于SPDY協議的HTTP 2.0協議標準(簡稱HTTP/2)。谷歌因此宣布放棄對SPDY協議的支持,轉而支持HTTP/2。

下面詳細了解一下HTTP 2.0提供的新特性。

二進制分幀層 (Binary Framing Layer)

在保證HTTP1.x不受到影響的情況下,HTTP 2.0是怎樣突破HTTP 1.1的性能限制,改進傳輸性能,實現低延遲高吞吐量的呢?關鍵之一就是在應用層(HTTP)和傳輸層(TCP)之間增加一個二進制分幀層。二進制分幀層,是HTTP 2.0性能增強的核心。

HTTP 1.1在應用層以純文本的形式進行通信,而HTTP 2.0將所有的傳輸信息分割為更小的消息和幀,并對它們采用二進制格式編碼。同時,客戶端和服務端都需要引入新的二進制編碼和解碼的機制。如下圖所示,HTTP 2.0并沒有改變HTTP 1.x的語義,只是在應用層使用二進制分幀方式傳輸。

HTTP/2協議

關于二進制分幀,有三個相關概念:幀、消息和流。

幀:HTTP 2.0通信的最小單位,所有幀都共享一個8字節的首部,其中包含幀的長度、類型、標志、還有一個保留位,并且至少有標識出當前幀所屬的流的標識符,幀承載著特定類型的數據,如HTTP首部、負荷等等。

  1. +-----------------------------------------------+ 
  2. |                 Length (24)                   | 
  3. +---------------+---------------+---------------+ 
  4. |   Type (8)    |   Flags (8)   | 
  5. +-+-------------+---------------+-------------------------------+ 
  6. |R|                 Stream Identifier (31)                      | 
  7. +=+=============================================================+ 
  8. |                   Frame Payload (0...)                      ... 
  9. +---------------------------------------------------------------+ 

基于幀,以二進制傳輸代替原本的明文傳輸,原本的報文消息被劃分為更小的數據幀:

HTTP/2協議

在二進制分幀層上,HTTP 2.0會將所有傳輸的信息分為更小的消息和幀,并采用二進制格式編碼,其中HTTP 1.1的首部信息會被封裝到Headers幀,而Request Body則封裝到Data幀。

消息:比幀大的通訊單位,是指邏輯上的HTTP消息(請求/響應),一系列數據幀組成了一個完整的消息。比如一系列DATA幀和一個HEADERS幀組成了請求消息。由一個或多個幀組成。

流:比消息大的通訊單位,是TCP連接中的一個虛擬通道,可以承載雙向的消息。每個流都有一個唯一的整數標識符。

為防止兩端流ID沖突,客戶端發起的流具有奇數ID,服務器端發起的流具有偶數ID。所有HTTP 2. 0通信都在一個TCP連接上完成, 這個連接可以承載任意數量的雙向數據流Stream。相應地,每個數據流以消息的形式發送,而消息由一或多個幀組成,這些幀可以亂序發送,然后根據每個幀首部的流標識符重新組裝。

HTTP/2協議

二進制分幀層保留了HTTP的語義不受影響,包括首部、方法等,在應用層來看,和HTTP 1.x沒有差別。同時,所有同主機的通信能夠在一個TCP連接上完成。

  • 單連接多資源的方式,減少服務端的鏈接壓力,內存占用更少,連接吞吐量更大;
  • 由于TCP連接的減少而使網絡擁塞狀況得以改善,同時慢啟動時間的減少,使擁塞和丟包恢復速度更快。

多路復用 (MultiPlexing)

多路復用允許同時通過一個TCP連接發起多重的請求-響應消息。消息由幀構成,每幀數據上都標識屬于哪個流(StreamID),對方接收時根據流ID拼接每個流所有幀的數據,組成一塊完整的數據。這就是HTTP/2的多路復用。

流的概念實現了單連接上多請求-響應并行,解決了“隊頭阻塞(Head of line blocking)”的問題,減少了TCP連接數量和TCP連接慢啟動的問題。所以HTTP/2對于同一域名只需要創建一個連接,而不是像HTTP/1那樣需要創建6~8個連接。

需要注意的是不同流的數據可以交叉發送,但同一個流的數據只能順序發送。

服務端推送 (Server Push)

客戶端發送一個請求,服務器根據客戶端的請求,提前返回多個響應,這樣客戶端就不用發起后續請求。也就是說,在HTTP/2中,服務器可以對客戶端的一個請求發送多個響應。服務器向客戶端推送資源無需客戶端明確的請求。

如下圖,客戶端請求Stream 1(/page.html),服務端在返回Stream 1消息的同時推送了Stream 2(/script.js)和Stream 4(/style.css):

HTTP/2協議

如果一個請求是由主頁發送的,服務器可能會響應主頁內容、logo以及樣式表,因為它知道客戶端會用到這些。這樣不但減輕了數據傳送冗余步驟,也加快了頁面響應的速度,提高了用戶體驗。

服務端推送主要是針對資源內聯做出的優化,相較于HTTP/1.1資源內聯的優勢:

  • 客戶端可以緩存推送的資源;
  • 客戶端可以拒收推送過來的資源;
  • 推送資源可以由不同頁面共享;
  • 服務器可以按照優先級推送資源;

推送的缺點:所有推送的資源都必須遵守同源策略。換句話說,服務器不能隨便將第三方資源推送給客戶端,而必須是經過雙方的確認才行。

Header 壓縮 (HPACK)

HTTP/1.1并不支持HTTP首部壓縮,為此SPDY和HTTP/2應運而生, SPDY使用的是通用的算法,而HTTP/2則使用了專門為首部壓縮而設計的算法(HPACK算法)。

HTTP/2協議

HTTP協議是無狀態的,每次請求都必須附上所有信息(描述資源屬性),重傳數據達到幾百甚至幾千字節。所以,請求頭字段很多都是重復的,比如Cookie,一樣的內容每次請求都必須附帶,會浪費很多帶寬,也影響速度。

其實,對于相同的頭部,只需發送一次即可。HTTP/2對這一點做了優化,引入了頭信息壓縮機制。一方面,頭信息使用gzip或compress壓縮后再發送;另一方面,客戶端和服務器同時維護一張頭信息表,所有字段都會存入這個表,產生一個索引號,之后就不發送同樣字段了,只需發送索引號。

請求優先級

把HTTP消息分為很多獨立幀之后,就可以通過優化這些幀的交錯和傳輸順序進一步優化性能。HTTP/2中每個Stream都可以設置依賴 (Dependency) 和權重,可以按依賴樹分配優先級,解決了關鍵請求被阻塞的問題。

應用層的重置連接

對于HTTP/1來說,是通過設置tcp segment中的reset flag來通知對端關閉連接的。這種方式會直接斷開連接,下次再發請求就必須重新建立連接。HTTP/2引入 RST_STREAM類型的 frame,可以在不斷開連接的前提下取消某個request的stream,表現更好。

流量控制

TCP協議是通過sliding window算法來做流量控制的。發送方有一個sending window,接收方有一個receive window。HTTP/2的flow control類似receive window,數據接收方通知對方字節的flow window大小,表明還能接收的數據量。只有Data類型的frame才有flow control功能。

通過上述方式,可以限制另一端發送數據。對于每個流來說,兩端都必須告訴對方自己還有足夠的空間來處理新的數據,而在該窗口被擴大前,另一端只被允許發送這么多數據。

小結

每一個新的協議的應用普及都需要一個過程,HTTP/2也不例外。還好的是,它是上層協議,而且只是在HTTP/1和TCP之間添加了一層,逐步被使用必然是趨勢。在了解了HTTP/2的這些新特性之后,或許你已經明白,為什么越來越多的瀏覽器、中間件開始采用HTTP/2了。因為,它的確非常高效,值得你學習并運用。

 

責任編輯:武曉燕 來源: 程序新視界
相關推薦

2020-08-27 15:35:01

存儲

2025-08-05 09:03:00

2018-03-18 16:27:51

2020-12-22 09:17:49

日志Loki服務

2021-05-13 07:58:06

UDP協議HTTP

2017-02-17 07:46:29

2021-07-27 11:31:29

運維架構技術

2022-01-17 14:25:14

索引數據庫搜索

2021-05-18 08:31:46

緩存HTTP服務器

2019-01-15 13:14:03

機器人算法SAC

2018-12-16 16:43:01

網絡風險管理網絡攻擊網絡風險

2021-08-26 06:58:14

CookieSession應用

2020-02-10 14:26:10

GitHub代碼倉庫

2019-03-03 15:52:39

阿里云宕機云災備

2009-06-18 15:40:07

Spring Batc

2019-06-24 09:57:39

網絡工具調試

2020-12-10 08:44:35

WebSocket輪詢Comet

2022-03-24 13:36:18

Java悲觀鎖樂觀鎖

2023-02-14 12:40:44

ChatGPTAI聊天
點贊
收藏

51CTO技術棧公眾號

污视频在线免费观看| 九九九国产视频| 自拍偷拍亚洲图片| 亚洲天堂免费看| 99中文视频在线| 青青草av在线播放| 第一社区sis001原创亚洲| 欧美日韩免费观看一区二区三区| 国产在线拍揄自揄拍无码| 人妻中文字幕一区| 毛片一区二区三区| 久久久久中文字幕2018| 在线国产视频一区| 深夜激情久久| 在线看日韩精品电影| 999久久欧美人妻一区二区| 理论视频在线| 国v精品久久久网| 国产91在线高潮白浆在线观看| 性色国产成人久久久精品| 久久夜色电影| 6080午夜不卡| 日韩毛片在线免费看| av资源种子在线观看| 成人av在线网站| 国产一区二区色| 日本中文字幕在线| 韩日精品在线| 色999日韩欧美国产| 艳妇乳肉亭妇荡乳av| 久久久久毛片免费观看| 日本精品视频一区二区三区| 九九热只有这里有精品| 黄色网页在线看| 国产精品欧美一区喷水| 久久久综合香蕉尹人综合网| www.桃色av嫩草.com| 久久精品国产99国产| 国产成人精品久久久| 国产成人亚洲欧洲在线| 国产精品扒开腿做爽爽爽软件| 日日骚久久av| 欧美a在线播放| 亚洲丝袜啪啪| 亚洲国语精品自产拍在线观看| 尤物网站在线看| 欧美a视频在线| 欧美日韩情趣电影| 一区二区三区免费播放| 天堂久久午夜av| 福利微拍一区二区| 成人午夜免费在线| ririsao久久精品一区| 一区二区免费看| 400部精品国偷自产在线观看| 99青草视频在线播放视| 国产精品欧美一区二区三区| 亚洲一区二区三区精品视频| av大全在线免费看| 国产精品免费网站在线观看| 午夜一区二区三区| 69视频在线| 日韩美女视频一区二区| 免费在线观看污污视频| 精品欧美色视频网站在线观看| 中文字幕一区免费在线观看| 精品国产无码在线| 岛国成人毛片| 亚洲国产乱码最新视频| 欧美色图色综合| 中文字幕这里只有精品| 在线观看亚洲成人| 性生生活大片免费看视频| 精品视频在线一区| 精品乱码亚洲一区二区不卡| 成人在线视频免费播放| 一个色免费成人影院| 尤物精品国产第一福利三区 | 国产麻豆电影在线观看| 黄色网在线看| 亚洲成人资源网| 精品99在线视频| 91久久久久久白丝白浆欲热蜜臀| 欧美精品久久天天躁| 亚洲AV无码久久精品国产一区| 视频成人永久免费视频| 日韩电影免费观看中文字幕| 白白色免费视频| 羞羞答答成人影院www| 欧美激情18p| 久久久久久在线观看| 久久99精品久久久久久| 国产精品视频入口| 国产黄在线播放| 一区二区三区四区不卡视频| 中文字幕无码精品亚洲35| 亚洲第一二三四区| 91麻豆精品国产自产在线 | 国产中文字幕二区| 日韩成人动漫| 日韩久久久久久| 91国模少妇一区二区三区| 亚洲国产精品久久久久蝴蝶传媒| 97视频在线免费观看| 一女二男一黄一片| 91丨porny丨蝌蚪视频| 亚洲日本精品国产第一区| 6699嫩草久久久精品影院| 欧美亚洲国产一区二区三区va| 美女被爆操网站| 精品视频国产| 国外视频精品毛片| 夜夜躁狠狠躁日日躁av| 91免费视频网址| 国产一区二区三区播放| 亚洲电影有码| 日韩av影片在线观看| www.xxxx日本| 青青青伊人色综合久久| 久久精品日产第一区二区三区精品版 | 六月婷婷色综合| 精品蜜桃传媒| 羞羞电影在线观看www| 欧美丝袜自拍制服另类| 菠萝菠萝蜜网站| 国内揄拍国内精品久久| 成人看片人aa| jizz亚洲| 欧美在线影院一区二区| 国产精品揄拍100视频| 亚洲高清资源| 99久久国产免费免费| 国产91精品视频在线观看| 偷偷操不一样的久久| 国产精品亚洲午夜一区二区三区| 亚洲精品一区二区三区樱花| 天堂av中文在线观看| 亚洲成av人片在线观看香蕉| 国产十六处破外女视频| 久久99精品网久久| 亚洲精品国产一区| 日本一区免费网站| 亚洲天堂av图片| 国产中文字幕视频| 91在线观看下载| 国产91xxx| 高清精品视频| 欧美精品videosex性欧美| aaaa一级片| 亚洲精品视频在线观看网站| 小早川怜子一区二区三区| 日韩在线欧美| 国产精品吴梦梦| 男女啪啪在线观看| 欧美日韩mp4| 任我爽在线视频| 国产一区二区中文字幕| 久久视频免费在线| 日本免费精品| 欧美国产在线视频| 成人小说亚洲一区二区三区| 亚洲午夜激情网站| 精品人妻一区二区免费视频| 嫩草成人www欧美| 欧美韩国日本精品一区二区三区| 成人免费影院| 一区二区三区动漫| 一级片视频免费| 亚洲欧美日韩在线不卡| 亚洲熟女乱综合一区二区| 欧美精品首页| 精品久久精品久久| 色老太综合网| 久久久国产精品免费| 亚洲av无码专区在线| 香蕉av福利精品导航| 91国模少妇一区二区三区| 毛片av一区二区| 青青草综合在线| 国内爆初菊对白视频| 国产综合精品一区| 九九九九精品九九九九| 手机看片久久| 久久6免费高清热精品| 欧美日韩不卡一区| 日产精品久久久久| 日本一区二区不卡视频| av在线免费观看不卡| 国产美女精品| 国产高清精品软男同| 国产一区在线电影| 国产精品色婷婷视频| 成人性生交大片免费看网站| 亚洲美女在线观看| 国产成年妇视频| 欧美日韩久久久久| 九九热视频在线免费观看| 99精品欧美一区二区三区小说 | 日韩中文字幕区一区有砖一区| 爱爱爱视频网站| 日韩av三区| 91久久久久久久久| 成人影院网站| 九九热精品视频在线播放| 男人的天堂在线| 日韩欧美二区三区| 国产乡下妇女三片| 五月婷婷激情综合网| 中日韩一级黄色片| 久久久久久久久久久久久久久99| 老女人性生活视频| 秋霞国产午夜精品免费视频| 日韩中文字幕在线免费| 亚洲天堂免费| 色女人综合av| 色先锋久久影院av| 7777奇米亚洲综合久久| 99只有精品| 欧美在线欧美在线| 好吊日av在线| 久久天天躁狠狠躁夜夜躁| 日韩欧美在线番号| 精品福利在线导航| 国产suv精品一区二区69| 欧美三级一区二区| 久草手机在线观看| 亚洲成人你懂的| 欧美日韩三级在线观看| 国产精品久久久久久久久果冻传媒| 免费中文字幕av| 粉嫩绯色av一区二区在线观看| 亚洲天堂国产视频| 免费成人你懂的| 成人性生生活性生交12| 久久不射2019中文字幕| 亚洲美免无码中文字幕在线| 欧美激情一级片一区二区| 正在播放一区| 99久久久久国产精品| 色综合电影网| gogogo高清在线观看一区二区| 欧美日韩一区二区三区在线视频| 凹凸成人在线| 国产精品一区二区欧美| 成人搞黄视频| 国产精品区一区二区三含羞草| 欧美日本三级| 999国内精品视频在线| 精品视频在线观看免费观看 | 日韩三级视频| 精品无人区一区二区三区| 久久久久97| 精品视频高清无人区区二区三区| 国产精品jk白丝蜜臀av小说| 国产精品视频免费一区| 牛牛影视一区二区三区免费看| 精品福利影视| 亚洲桃色综合影院| 台湾成人av| 97欧美在线视频| 黄色www在线观看| 国模 一区 二区 三区| 国产a级片网站| 国产成人免费| 日本韩国视频一区二区| 岛国av中文字幕| 欧美写真视频网站| 国产精品热久久| 欧美一区二区日韩一区二区| 国产婷婷一区二区三区久久| 日韩免费看网站| 日本高清视频网站| 亚洲精品国偷自产在线99热| 亚洲色图21p| 中文字幕精品视频| 欧美成人hd| 午夜精品久久久久久久99热| 中文字幕在线直播| 国产乱人伦真实精品视频| 国产午夜久久av| 精品乱色一区二区中文字幕| sdde在线播放一区二区| 永久域名在线精品| 伊人蜜桃色噜噜激情综合| www.四虎成人| 国产一区在线看| 内射中出日韩无国产剧情| 中文字幕av在线一区二区三区| 婷婷激情四射网| 黑人巨大精品欧美一区二区三区 | 国产成人看片| 九九热线有精品视频99| 最新不卡av| 国产日韩免费| 伊人五月天婷婷| 久久亚洲综合色一区二区三区 | 欧美日韩xxxx| 青青草综合在线| 奇米精品一区二区三区四区 | 中文字幕在线观看视频免费| 欧美一区二区视频观看视频 | 91网站最新网址| 中文字幕无码日韩专区免费| 午夜a成v人精品| 国产永久免费视频| 精品视频久久久久久久| 91蜜桃在线视频| 日韩女优人人人人射在线视频| 久久免费福利| 日韩欧美视频一区二区三区四区| 国内视频精品| 捷克做爰xxxⅹ性视频| 久久综合五月天婷婷伊人| 国内偷拍精品视频| 欧美日韩精品欧美日韩精品| 天堂资源中文在线| 欧美黄色www| 精品美女一区| 国产丝袜欧美中文另类| 少妇大叫太粗太大爽一区二区| 亚洲另类一区二区| 中文字幕精品无码亚| 日韩av中文在线| 欧美极品少妇videossex| 成人黄色片在线| 欧美色女视频| 久久人妻精品白浆国产| 不卡一区二区三区四区| 青青草免费av| 欧美一级艳片视频免费观看| 五月婷婷在线视频| 国产精品狼人色视频一区| 美女视频免费精品| 欧美成人高潮一二区在线看| 国产高清不卡一区| 成人免费视频网站入口::| 欧美日韩在线一区二区| www.成人.com| 国产精品久久一| 精品日本12videosex| 六月丁香婷婷在线| 2024国产精品视频| 亚洲精品国产精品乱码| 亚洲成人精品久久| 精精国产xxxx视频在线中文版 | 国产精品美女久久久久av爽李琼| 一级黄色大片视频| 亚洲欧美国内爽妇网| 亚洲欧洲美洲av| 欧美日韩最好看的视频| 久久精品盗摄| 国产小视频自拍| 欧美三级日韩在线| 日本中文字幕电影在线免费观看| 国产免费一区二区三区香蕉精| 日本激情一区| 欧美成年人视频在线观看| 亚洲国产精品成人综合| 一级片aaaa| 欧美美女操人视频| 成人资源在线| 91视频 -- 69xx| 久久久美女毛片| 中文字幕第315页| 菠萝蜜影院一区二区免费| 在线观看欧美| 欧美美女黄色网| a级精品国产片在线观看| 久久久久久久久久久久久av| 亚洲老头老太hd| 欧美综合社区国产| 国产人妻人伦精品| 9人人澡人人爽人人精品| 香蕉影院在线观看| 最新国产精品亚洲| 免费观看久久av| 国产私拍一区| 亚洲欧美日韩国产一区二区| 欧美人与性囗牲恔配| 欧美日本视频在线| 性xxxxfjsxxxxx欧美| 国产一区免费视频| 日本怡春院一区二区| 国产高清视频免费在线观看| 精品国产乱码久久久久久浪潮 | 一区二区欧美视频| 日韩美女一级视频| 国产欧美韩国高清| 很黄很黄激情成人| 熟女少妇内射日韩亚洲| 777欧美精品| 青青青免费在线视频| 亚洲成人午夜在线| 风流少妇一区二区| 久久人人爽人人爽人人片av免费| 久久亚洲精品一区二区| 青青草原在线亚洲| 婷婷激情小说网| 欧美性生交xxxxxdddd| a级影片在线观看|