当前位置:首页 > IT技术 > Web编程 > 正文

http3优化
2021-10-22 16:46:15

 

500      服务器内部错误
501  服务器不具备完成请求的功能。例如,服务器无法识别请求方法时可能会返回此代码。
502    Bad Gateway错误
503  服务器目前无法使用(由于超载或停机维护)。通常,这只是暂时状态。(服务不可用)
504      Bad Gateway timeout 网关超时
505  服务器不支持请求中所用的 HTTP 协议版本。(HTTP 版本不受支持)

http3的优点

1.握手时间,http1.0/1.1,http2都是使用tcp进行传输,http3基于udp传输 连接建立时只需要一次交互,半个握手时间。

2.多路复用丢包时线头阻塞,quic保留了多路复用,quic一个链接上的多个stream之间没有依赖,发生丢包时只会影响到当前的stream 

3.优化重传策略,优化重传旧的重传机制无法判断是旧的ack包,还是重传的ack包,优化后初始和重传每一个封包都改用一个新的编号,每个编号严格递增,依据编号判断哪次ack的封包

4.流量控制,限制单stream的流量控制,优化前如果存在一个流量极慢的stream会用掉接收端所有的资源

5.连接迁移,tcp 连接基于四元组(源ip,源端口,目标ip,目标端口)wifi 变化时要进行重新连接,quic连接会生成一个connectionId,connectionId无变化,连接依然维持

ftp 文本传输协议,http 超文本传输协议,telnet远程登录协议,ip协议 ,imcp控制信息协议,dhcp动态主机配置协议,arp解析物理地址协议

tcp 和udp 的区别

tcp协议基于连接,udp无连接

tcp面向字节流,udp面向报文

tcp传输数据无差错,不丢失,不重复,udp可能丢包

tcp首部开销字节最小为20,udp为8字节

tcp连接只能点对点,udp 可以一对多,多对多通信

http对头阻塞2-1tcp对头阻塞 3-2

http1.1如何解决http的队头阻塞

利用长链接,管道化,长链接使请求管道化变为可能,并行需要多个tcp链接 (因为请求是串行的传输的管道中),存在队头阻塞

http2如何解决http的队头阻塞

在应用层、传输层中间设置二进制分帧层,能在一个tcp链接上面进行任意数量的http请求   采用多路复用

http是应用层协议,tcp是传输层协议,http2在应用层、传输层中间设置二进制分帧层 解决了http层的队头阻塞,给每个帧打上流id,接收方可以拼接成流,做到乱序响应

 

ack = 上次seq + length  

 

seq = 上次ack

 

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

开通会员,享受整站包年服务立即开通 >