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-1,tcp对头阻塞 3-2
http1.1如何解决http的队头阻塞
利用长链接,管道化,长链接使请求管道化变为可能,并行需要多个tcp链接 (因为请求是串行的传输的管道中),存在队头阻塞
http2如何解决http的队头阻塞
在应用层、传输层中间设置二进制分帧层,能在一个tcp链接上面进行任意数量的http请求 采用多路复用
http是应用层协议,tcp是传输层协议,http2在应用层、传输层中间设置二进制分帧层 解决了http层的队头阻塞,给每个帧打上流id,接收方可以拼接成流,做到乱序响应
ack = 上次seq + length
seq = 上次ack
本文摘自 :https://www.cnblogs.com/