溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

HTTP3的示例分析

發(fā)布時間:2022-02-19 11:56:46 來源:億速云 閱讀:174 作者:小新 欄目:開發(fā)技術(shù)

這篇文章給大家分享的是有關(guān)HTTP3的示例分析的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

HTTP3是HTTP協(xié)議的最新版本。從誕生之初,HTTP就是交換超文本文檔的首選應(yīng)用層協(xié)議。多年來,為了跟上互聯(lián)網(wǎng)的發(fā)展,以及WWW上交換的內(nèi)容種類增加,HTTP進行了幾次重大升級,而HTTP/3就是目前的最新版本。

HTTP3的示例分析

HTTP 2問題

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

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

HTTP 3

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

HTTP3的示例分析

整個HTTP家族對比如下:

HTTP3的示例分析

HTTP3特點:

  • 使用UDP作為傳輸層進行通信
  • 從協(xié)議本身保證了安全性,QUIC在建立連接的握手過程中就完成了TLS加密握手
  • 建立連接快,正常只需要1RTT即可建立連接。如果有緩存之前的secret信息,則直接驗證和建立連接,此過程0RTT。建立連接時,也可以帶有少量業(yè)務(wù)數(shù)據(jù)。
HTTP3的示例分析
  • 不和具體底層連接綁定,QUIC為每個連接的兩端分別分配了一個唯一ID,上層連接只認(rèn)這對邏輯ID。網(wǎng)絡(luò)切換或者斷連時,只需要繼續(xù)發(fā)送數(shù)據(jù)包即可完成連接的建立
  • 使用QPACK進行頭部壓縮,因為HPACK要求傳輸過程有序,這會導(dǎo)致隊頭阻塞。而QPACK不存在這個問題
  • HTTP/3在header中定義了一個新header:Alt-Svc: h4=":20003":表示服務(wù)器在20003端口開了一個20003端口用于HTTP/3服務(wù)

補充

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

    (function(){
     // 保證這個方法只在支持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;
         // 就以 「h3」作為判斷標(biāo)識
         if(spdy && /^h3/i.test(info)) {
             return console.info('本站點使用了HTTP/2');
         }
     }
     console.warn('本站點沒有使用HTTP/2');
    })();


感謝各位的閱讀!關(guān)于“HTTP3的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI