當(dāng)前位置:首頁 > IT技術(shù) > Web編程 > 正文

http3優(yōu)化
2021-10-22 16:46:15

?

500      服務(wù)器內(nèi)部錯誤
501  服務(wù)器不具備完成請求的功能。例如,服務(wù)器無法識別請求方法時(shí)可能會返回此代碼。
502    Bad Gateway錯誤
503  服務(wù)器目前無法使用(由于超載或停機(jī)維護(hù))。通常,這只是暫時(shí)狀態(tài)。(服務(wù)不可用)
504      Bad Gateway timeout 網(wǎng)關(guān)超時(shí)
505  服務(wù)器不支持請求中所用的 HTTP 協(xié)議版本。(HTTP 版本不受支持)

http3的優(yōu)點(diǎn)

1.握手時(shí)間,http1.0/1.1,http2都是使用tcp進(jìn)行傳輸,http3基于udp傳輸 連接建立時(shí)只需要一次交互,半個握手時(shí)間。

2.多路復(fù)用丟包時(shí)線頭阻塞,quic保留了多路復(fù)用,quic一個鏈接上的多個stream之間沒有依賴,發(fā)生丟包時(shí)只會影響到當(dāng)前的stream 

3.優(yōu)化重傳策略,優(yōu)化重傳舊的重傳機(jī)制無法判斷是舊的ack包,還是重傳的ack包,優(yōu)化后初始和重傳每一個封包都改用一個新的編號,每個編號嚴(yán)格遞增,依據(jù)編號判斷哪次ack的封包

4.流量控制,限制單stream的流量控制,優(yōu)化前如果存在一個流量極慢的stream會用掉接收端所有的資源

5.連接遷移,tcp 連接基于四元組(源ip,源端口,目標(biāo)ip,目標(biāo)端口)wifi 變化時(shí)要進(jìn)行重新連接,quic連接會生成一個connectionId,connectionId無變化,連接依然維持

ftp 文本傳輸協(xié)議,http 超文本傳輸協(xié)議,telnet遠(yuǎn)程登錄協(xié)議,ip協(xié)議 ,imcp控制信息協(xié)議,dhcp動態(tài)主機(jī)配置協(xié)議,arp解析物理地址協(xié)議

tcp 和udp 的區(qū)別

tcp協(xié)議基于連接,udp無連接

tcp面向字節(jié)流,udp面向報(bào)文

tcp傳輸數(shù)據(jù)無差錯,不丟失,不重復(fù),udp可能丟包

tcp首部開銷字節(jié)最小為20,udp為8字節(jié)

tcp連接只能點(diǎn)對點(diǎn),udp 可以一對多,多對多通信

http對頭阻塞2-1,tcp對頭阻塞 3-2

http1.1如何解決http的隊(duì)頭阻塞

利用長鏈接,管道化,長鏈接使請求管道化變?yōu)榭赡埽⑿行枰鄠€tcp鏈接 (因?yàn)檎埱笫谴械膫鬏數(shù)墓艿乐?,存在隊(duì)頭阻塞

http2如何解決http的隊(duì)頭阻塞

在應(yīng)用層、傳輸層中間設(shè)置二進(jìn)制分幀層,能在一個tcp鏈接上面進(jìn)行任意數(shù)量的http請求? ?采用多路復(fù)用

http是應(yīng)用層協(xié)議,tcp是傳輸層協(xié)議,http2在應(yīng)用層、傳輸層中間設(shè)置二進(jìn)制分幀層 解決了http層的隊(duì)頭阻塞,給每個幀打上流id,接收方可以拼接成流,做到亂序響應(yīng)

?

ack = 上次seq + length ?

?

seq = 上次ack

?

本文摘自 :https://www.cnblogs.com/

開通會員,享受整站包年服務(wù)立即開通 >