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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 综合教程 >内容正文

综合教程

HTTP/3 简介

發(fā)布時(shí)間:2023/12/13 综合教程 38 生活家
生活随笔 收集整理的這篇文章主要介紹了 HTTP/3 简介 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前言

HTTP 2.0是由谷歌SPDY進(jìn)化而來,現(xiàn)有的實(shí)現(xiàn)基本都是走SSL(說是可以不用SSL,但基本沒這么干的),傳輸層使用TCP。
HTTP 3.0是由谷歌QUIC進(jìn)化出來的,QUIC沒有大動(dòng)HTTP 2.0,在把傳輸層調(diào)整為UDP后,為適應(yīng)UDP而做了一些微調(diào)。

HTTP 2問題

前篇已整體介紹HTTP 2,就此,此篇只說下HTTP/2的問題

在底層使用了TCP的情況下,TCP的慢啟動(dòng);擁塞窗口尺寸設(shè)置不合理導(dǎo)致的性能急劇下降的問題沒有得到解決。基因在此,無法改變
HTTP 2多路復(fù)用只是減少了連接數(shù),隊(duì)頭阻塞的問題并沒有得到完全解決。如果TCP丟包率超過2%,HTTP/2表現(xiàn)將不如HTTP1.1。因?yàn)镠TTP1 是分開使用的TCP連接,具體對(duì)比如下示意圖所示:

HTTP 3

HTTP 3是在QUIC基礎(chǔ)上發(fā)展出來的。底層使用UDP進(jìn)行數(shù)據(jù)傳輸,但上層仍然使用HTTP/2。HTTP2與UDP之前存在一個(gè)QUIC層,TLS加密過程在此層處理。QUICK存在兩個(gè)版本,早期Google打頭陣的QUIC稱之為gQUIC,IETF標(biāo)準(zhǔn)化后稱之為IQUIC。與HTTP對(duì)比,HTTP/3整體如下:

整個(gè)HTTP家族對(duì)比如下:

HTTP3特點(diǎn):

使用UDP作為傳輸層進(jìn)行通信
從協(xié)議本身保證了安全性,QUIC在建立連接的握手過程中就完成了TLS加密握手

建立連接快,正常只需要1RTT即可建立連接。如果有緩存之前的secret信息,則直接驗(yàn)證和建立連接,此過程0RTT。建立連接時(shí),也可以帶有少量業(yè)務(wù)數(shù)據(jù)。


不和具體底層連接綁定,QUIC為每個(gè)連接的兩端分別分配了一個(gè)唯一ID,上層連接只認(rèn)這對(duì)邏輯ID。網(wǎng)絡(luò)切換或者斷連時(shí),只需要繼續(xù)發(fā)送數(shù)據(jù)包即可完成連接的建立

使用QPACK進(jìn)行頭部壓縮,因?yàn)镠PACK要求傳輸過程有序,這會(huì)導(dǎo)致隊(duì)頭阻塞。而QPACK不存在這個(gè)問題
HTTP/3在header中定義了一個(gè)新header:Alt-Svc: h3=":20003":表示服務(wù)器在20003端口開了一個(gè)20003端口用于HTTP/3服務(wù)

補(bǔ)充

使用以下代碼可以判斷是否有使用HTTP/2

(function(){
  // 保證這個(gè)方法只在支持loadTimes的chrome瀏覽器下執(zhí)行
  if(window.chrome && typeof chrome.loadTimes === 'function') {
      var loadTimes = window.chrome.loadTimes();
      var spdy = loadTimes.wasFetchedViaSpdy;
      var info = loadTimes.npnNegotiatedProtocol || loadTimes.connectionInfo;
      // 就以 「h2」作為判斷標(biāo)識(shí)
      if(spdy && /^h2/i.test(info)) {
          return console.info('本站點(diǎn)使用了HTTP/2');
      }
  }
  console.warn('本站點(diǎn)沒有使用HTTP/2');
})();

QUIC詳細(xì)介紹-->維基百科
QPACK詳細(xì)介紹-->點(diǎn)擊此處

參考資料

關(guān)于HTTP/3背后你所不知道的
HTTP/3 來啦,你還在等什么?趕緊了解一下
What is the QUIC Transport Protocol?
我的HTTP/3學(xué)習(xí)筆記
一文讀懂 HTTP/2 及 HTTP/3 特性

歡迎大家關(guān)注我的公眾號(hào):

總結(jié)

以上是生活随笔為你收集整理的HTTP/3 简介的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。