?
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/