http 常用知识笔记(简)-6

HTTP/2的改进
1.头部压缩:当你发出多个请求,请求的头部信息是一样的或者相似的,协议会帮助你消除重复的部分,减少开销。
使用HPACK算法:客户端和服务器同时维护一张头部信息表,所有字段都存入这个表中,生成一个索引号,以后就不发送同样的字段,只发送索引号,用来提高速度。
2.二进制格式:不再使用纯文本的发送格式,改为全面采用二进制格式,头信息和数据全都采用二进制,非别是头信息帧和数据帧。增加数据传输效率。
3.数据流:数据包不是按顺序发送,同一个数据包中的数据可能属于不同的回应,必须对数据包做出标记,指出它属于的回应。规定客户端发出的数据流编号为奇数,服务器发送的数据流编号为偶数。客户端还可指定数据流的优先级,优先级高的先获得响应。
4:多路复用:可以在一个连接中并发多个请求与回应。
5:服务器推送:服务器可主动向客户端发送消息,提前把可能会用的文件发给客户端,减少等待时延。
http/2的缺点
1.多路复用如果发生丢包,TCP触发重传,TCP不知道有多少请求,那么其他所有请求都要等待这个包重传回来。阻塞后面的HTTP请求。
http/3的改进
1.使用UDP替代TCP解决阻塞问题。
2.使用基于UDP的QUIC协议实现类似TCP的可靠传输。
3.使用TSL1.3+,头部压缩也改为QPack。
4.HTTPS建立一个链接需要6次握手,而HTTP/3的QUIC把六次握手合并成三次,减少了交互次数。

猜你喜欢

转载自blog.csdn.net/weixin_43891021/article/details/114106247