?
500 服務(wù)器內(nèi)部錯(cuò)誤 501 服務(wù)器不具備完成請(qǐng)求的功能。例如,服務(wù)器無(wú)法識(shí)別請(qǐng)求方法時(shí)可能會(huì)返回此代碼。 502 Bad Gateway錯(cuò)誤 503 服務(wù)器目前無(wú)法使用(由于超載或停機(jī)維護(hù))。通常,這只是暫時(shí)狀態(tài)。(服務(wù)不可用) 504 Bad Gateway timeout 網(wǎng)關(guān)超時(shí) 505 服務(wù)器不支持請(qǐng)求中所用的 HTTP 協(xié)議版本。(HTTP 版本不受支持)
http3的優(yōu)點(diǎn)
1.握手時(shí)間,http1.0/1.1,http2都是使用tcp進(jìn)行傳輸,http3基于udp傳輸 連接建立時(shí)只需要一次交互,半個(gè)握手時(shí)間。
2.多路復(fù)用丟包時(shí)線頭阻塞,quic保留了多路復(fù)用,quic一個(gè)鏈接上的多個(gè)stream之間沒(méi)有依賴(lài),發(fā)生丟包時(shí)只會(huì)影響到當(dāng)前的stream
3.優(yōu)化重傳策略,優(yōu)化重傳舊的重傳機(jī)制無(wú)法判斷是舊的ack包,還是重傳的ack包,優(yōu)化后初始和重傳每一個(gè)封包都改用一個(gè)新的編號(hào),每個(gè)編號(hào)嚴(yán)格遞增,依據(jù)編號(hào)判斷哪次ack的封包
4.流量控制,限制單stream的流量控制,優(yōu)化前如果存在一個(gè)流量極慢的stream會(huì)用掉接收端所有的資源
5.連接遷移,tcp 連接基于四元組(源ip,源端口,目標(biāo)ip,目標(biāo)端口)wifi 變化時(shí)要進(jìn)行重新連接,quic連接會(huì)生成一個(gè)connectionId,connectionId無(wú)變化,連接依然維持
ftp 文本傳輸協(xié)議,http 超文本傳輸協(xié)議,telnet遠(yuǎn)程登錄協(xié)議,ip協(xié)議 ,imcp控制信息協(xié)議,dhcp動(dòng)態(tài)主機(jī)配置協(xié)議,arp解析物理地址協(xié)議
tcp 和udp 的區(qū)別
tcp協(xié)議基于連接,udp無(wú)連接
tcp面向字節(jié)流,udp面向報(bào)文
tcp傳輸數(shù)據(jù)無(wú)差錯(cuò),不丟失,不重復(fù),udp可能丟包
tcp首部開(kāi)銷(xiāo)字節(jié)最小為20,udp為8字節(jié)
tcp連接只能點(diǎn)對(duì)點(diǎn),udp 可以一對(duì)多,多對(duì)多通信
http對(duì)頭阻塞2-1,tcp對(duì)頭阻塞 3-2
http1.1如何解決http的隊(duì)頭阻塞
利用長(zhǎng)鏈接,管道化,長(zhǎng)鏈接使請(qǐng)求管道化變?yōu)榭赡?,并行需要多個(gè)tcp鏈接 (因?yàn)檎?qǐng)求是串行的傳輸?shù)墓艿乐?,存在隊(duì)頭阻塞
http2如何解決http的隊(duì)頭阻塞
在應(yīng)用層、傳輸層中間設(shè)置二進(jìn)制分幀層,能在一個(gè)tcp鏈接上面進(jìn)行任意數(shù)量的http請(qǐng)求? ?采用多路復(fù)用
http是應(yīng)用層協(xié)議,tcp是傳輸層協(xié)議,http2在應(yīng)用層、傳輸層中間設(shè)置二進(jìn)制分幀層 解決了http層的隊(duì)頭阻塞,給每個(gè)幀打上流id,接收方可以拼接成流,做到亂序響應(yīng)
?
ack = 上次seq + length ?
?
seq = 上次ack
?
本文摘自 :https://www.cnblogs.com/