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

創(chuàng)新互聯(lián)建站堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站制作、網(wǎng)站設(shè)計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的察哈爾右翼前網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
HTTP 2問題
前篇已整體介紹HTTP 2,就此,此篇只說下HTTP/2的問題
-
在底層使用了TCP的情況下,TCP的慢啟動;擁塞窗口尺寸設(shè)置不合理導(dǎo)致的性能急劇下降的問題沒有得到解決。基因在此,無法改變
-
HTTP 2多路復(fù)用只是減少了連接數(shù),隊頭阻塞的問題并沒有得到完全解決。如果TCP丟包率超過2%,HTTP/2表現(xiàn)將不如HTTP1.1。因為HTTP1 是分開使用的TCP連接,具體對比如下示意圖所示:
HTTP 3
HTTP 3是在QUIC基礎(chǔ)上發(fā)展出來的。底層使用UDP進行數(shù)據(jù)傳輸,但上層仍然使用HTTP/2。HTTP2與UDP之前存在一個QUIC層,TLS加密過程在此層處理。QUICK存在兩個版本,早期Google打頭陣的QUIC稱之為gQUIC,IETF標準化后稱之為IQUIC。與HTTP對比,HTTP/3整體如下:
整個HTTP家族對比如下:
HTTP3特點:
-
使用UDP作為傳輸層進行通信
-
從協(xié)議本身保證了安全性,QUIC在建立連接的握手過程中就完成了TLS加密握手
-
建立連接快,正常只需要1RTT即可建立連接。如果有緩存之前的secret信息,則直接驗證和建立連接,此過程0RTT。建立連接時,也可以帶有少量業(yè)務(wù)數(shù)據(jù)。
-
不和具體底層連接綁定,QUIC為每個連接的兩端分別分配了一個唯一ID,上層連接只認這對邏輯ID。網(wǎng)絡(luò)切換或者斷連時,只需要繼續(xù)發(fā)送數(shù)據(jù)包即可完成連接的建立
-
使用QPACK進行頭部壓縮,因為HPACK要求傳輸過程有序,這會導(dǎo)致隊頭阻塞。而QPACK不存在這個問題
-
HTTP/3在header中定義了一個新header:
Alt-Svc: h3=":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; // 就以 「h2」作為判斷標識 if(spdy && /^h2/i.test(info)) { return console.info('本站點使用了HTTP/2'); } } console.warn('本站點沒有使用HTTP/2'); })();
網(wǎng)站名稱:簡單介紹一下HTTP3
當前鏈接:http://m.fisionsoft.com.cn/article/djpjgdi.html


咨詢
建站咨詢
