日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HTTP/2笔记之连接建立

發布時間:2025/7/14 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HTTP/2笔记之连接建立 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

HTTP/2協議在TCP連接之初進行協商通信,只有協商成功,才會涉及到后續的請求-響應等具體的業務型數據交換。

HTTP版本標識符

  • h2,基于TLS之上構建的HTTP/2,作為ALPN的標識符,兩個字節表示,0x68, 0x32,即https
  • h2c,直接在TCP之上構建的HTTP/2,缺乏安全保證,即http
  • 在HTTP/2 RFC文檔出現之前,以上版本字段需要添加上草案版本號,類似于h2-11,h2c-17

HTTP/2 請求過程

針對直接建立在標準TCP之上HTTP2,在未知服務器是否提供HTTP/2支持之前,可以依賴現有HTTP/1.1進行試探。

HTTP版本的請求內容

  • 客戶端發起請求,只有請求報頭: GET / HTTP/1. 1 Host: server. example. com Connection: Upgrade, HTTP2-Settings Upgrade: h2c HTTP2-Settings: <base64url encoding of HTTP/2 SETTINGS payload>
  • 服務器若不支持HTTP/2,直接按照HTTP/1.1響應即可 HTTP/1. 1 200 OK Content-Length: 243 Content-Type: text/html . . .
  • 服務器支持HTTP/2,通知客戶端一起切換到HTTP/2協議下吧

    HTTP/1. 1 101 Switching Protocols Connection: Upgrade Upgrade: h2c [ HTTP/2 connection . . .
  • 101響應空行之后,服務器必須發送的第一個幀為SETTINGS幀(其負載可能為空)作為連接序言
  • 客戶端接收到101響應后,也必須發送一個序言作為響應,其邏輯結構: PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n // 純字符串表示,翻譯成字節數為24個字節 SETTINGS幀 // 其負載可能為空 服務器端和客戶端所發送的連接序言有所不同。
  • 客戶端可以馬上發送請求幀或其它幀過去,不用等待來自服務器端的SETTINGS幀
  • 任一端接收到SETTINGS幀之后,都需要返回一個包含確認標志位SETTIGN作為確認
  • 其它幀的正常傳輸
  • HTTP/2的直接連接

    客戶端預先知道服務器提供HTTP/2支持,可以免去101協議切換的流程開銷。 具體流程:

  • 客戶端必須首先發送一個連接序言,其邏輯結構: PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n // 純字符串表示,翻譯成字節數為24個字節 SETTINGS幀 // 其負載可能為空
  • 發送完畢序言之后,客戶端可以不用等待來自服務器端響應,馬上發送HTTP/2其它幀
  • 服務器端接收到客戶端的連接序言之后,需要發送一個SETTINGS幀作為連接序言
  • 任一端接收到SETTINGS幀之后,都需要返回一個包含確認標志位SETTIGN作為確認
  • 其它幀的正常傳輸
  • HTTPS版本建立連接

    HTTP/2安全版本在TLS上構建,協商采用的ALPN擴展協議,采用“h2”作為協議標識符(http版本則是“h2c”)。一定程度上可認為不存在試探是否支持或直接連接的煩惱,因為這個過程直接在TLS層協商而成。

    流程如下:

  • 客戶端和服務器端TLS層協商
  • 客戶端發送連接序言(同上表示,PRI + SETTINGS)
  • 接收到客戶端連接序言之后,服務器端發送連接序言
  • 雙方各自確認SETTINGS幀
  • 其它幀的正常傳輸
  • HTTPS和HTTP Upgrade方式協商

    HTTPS協商是強制,封裝在TLS之上ALPN擴展實現,HTTP只有非直接連接方式才會存在通過101 協議切換方式進行升級。

    這里有一張圖形象說明其流程。

    統一的連接過程

    這里不論是HTTP還是HTTPS,在兩端成功協商之后(或HTTP的直接連接),其連接過程都是一樣的

    注意事項

  • 客戶端發起的HTTP/1.1請求,其流標識符為1,默認優先級;半關閉“half closed”狀態,一旦完成HTTP/2的連接,將被應用于響應
  • 文檔提到的客戶端可以通過HTTP Alternative Services(簡稱為[ALT-SVC],類似于CNAME機制)獲得通知服務器是否支持HTTP/2,但目前看來僅僅是草案建議而已
  • 連接序言用于最后兩端協商確認雙方要使用HTTP/2協議,建立初始化的HTTP/2連接環境
  • 客戶端若知服務器支持HTTP/2,可免去通過HTTP/1.1 101協議切換方式進行升級,在建立連接后即可發送序言,否則只能在接收到服務器端101響應后發送序言
  • 建立在TLS上的HTTP/2通過ALPN擴展協商機制取代101協議切換
  • 連接序言所包含的SETTINGS幀其負載可以為空
  • 針對一個TCP連接,服務器第一個要發送的幀必須是SETTINGS幀
  • 為了避免不必要延遲,客戶端可以在發送完畢序言之后發送幀數據,不用等待來自服務器端的序言SETTINGS幀
  • 客戶端接收到服務器端作為序言的SETTINGS幀,需要遵守其設定
  • 在一些環境下需要提供一個順序機制,允許服務器在客戶端發送業務幀之前發送SETTINGS,這需要客戶端配合
  • 客戶端和服務器端任何一方接收到無效連接序言需要拋出PROTOCOL_ERROR類型連接錯誤,若收到GOAWAY幀,可忽略
  • 小結

    HTTP/2連接的建立協商機制比HTTP/1.1稍微復雜了一些。

    對比明文版的HTTP/1.1和HTTP/2完成一次請求-響應:

  • HTTP/1.1在建立建立之后,只需要發送請求報文數據
  • HTTP/2客戶端需要在連接建立之初馬上發送一個連接序言過去,然后才是正常請求
  • 兩端(客戶端+服務器端)的兩次完整的連接序言+確認的交互流程,多了兩次往返過程
  • 在弱網絡環境下,會不會加重網絡負載,只能拭目一看了。

    引用

  • 《Implementing HTTP/2 client in 60 minutes》
  • 原文?http://www.blogjava.net/yongboy/archive/2015/03/18/423570.html

    轉載于:https://www.cnblogs.com/yudar/p/4642593.html

    總結

    以上是生活随笔為你收集整理的HTTP/2笔记之连接建立的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 深夜福利网站在线观看 | 色综合啪啪 | 亚洲图片欧美另类 | 中文字幕激情 | 日日摸日日 | 国产精品一二三级 | 精品久久久久久久久久久久久 | 久av在线 | 国产av无码专区亚洲精品 | 成人激情文学 | 芒果视频污污 | 日本打屁股网站 | 国产高清免费 | 无码人妻丰满熟妇啪啪网站 | 男人视频网站 | 蜜桃视频污在线观看 | 日韩欧美精品国产 | a视频在线免费观看 | 欧州一区二区三区 | 国产黄色一级 | 夜夜骑狠狠干 | 夜夜操天天射 | 午夜久久网| 国产第一福利 | 特级黄色一级片 | 日本成人福利视频 | 成人一级生活片 | 国产精品20p | 69欧美视频 | 欧美激情小视频 | 小向美奈子在线观看 | 亚洲精品人妻av | 黄色网在线 | 在线视频欧美日韩 | aa黄色片 | 婷婷色综合网 | 国产日韩精品中文字无码 | 毛片视频在线免费观看 | 美女视频黄色 | 久久天堂av | 怡红院一区二区 | 91区| 日韩精品在线一区 | 成年女人免费视频 | www.四虎影视.com | eeuss一区二区| 国产做爰视频免费播放 | 久久精视频 | 精品国产视频在线 | 久久国产欧美日韩精品 | 超碰天天操| 99久久久无码国产精品性青椒 | 精品人妻一区二区三区四区不卡 | 中文在线观看免费网站 | 国产无遮挡a片又黄又爽 | 狠狠躁夜夜躁人 | 极品av在线 | 欧美成人a视频 | 欧美性受xxxx | 成人免费在线播放 | 成人免费播放 | 黄色应用在线观看 | 国产免费看片 | av一区二区三区四区 | 日本黄色一级 | 97人妻精品一区二区三区视频 | 日韩欧美黄色 | 午夜宅男在线 | 日韩少妇内射免费播放18禁裸乳 | 国产污视频在线观看 | 激情欧美网站 | 天天操导航 | 国产成人网 | 亚洲福利视频一区二区 | 日韩一区二区三区四区 | 狠狠影视| 欧美大尺度床戏做爰 | 国产精品毛片久久 | 精品999久久久一级毛片 | 有码在线视频 | 日本乱偷中文字幕 | 红桃视频一区 | 一区二区三区在线视频播放 | 亚洲欧美日韩系列 | 国产www免费 | 五月天爱爱 | www.国产高清 | 奇米影视777在线观看 | 国产精品久久久午夜夜伦鲁鲁 | 长篇高h肉爽文丝袜 | 亚洲一区二区三区香蕉 | 亚洲色图国产视频 | 精品视频导航 | 亚洲天堂2021av | 国产精品一区二区视频 | 落日余晖图片 | 四虎影视免费在线观看 | 免费萌白酱国产一区二区三区 | av网址有哪些 |