HTTP2/HTTP3的特性?

1.HTTP2

  1. 二进制格式:HTTP1的解析是基于文本格式的,HTTP2的解析是基于二进制格式的,效率更高。

  2. 帧与双向数据流:同时HTTP2引入帧和流的概念;就是HTTP2通信的最小消息单位,报文被分割为多个帧;”流概念“是存在于连接中的双向的虚拟通道,帧可以在拥有整数标识的流上进行双向传输,一个连接可以承载任意数量的流,所以多个帧之间可以乱序发送,根据帧首部的流标识重新组装。

  3. 多路复用:HTTP1想要并发多个请求只能起多个TCP连接,而且浏览器对单个域名还有TCP连接数量的限制,HTTP2拥有流和帧后单个连接上就可以并发进行多个请求和响应,避免了HTTP1中的队头阻塞问题,极大地提升了性能。

  4. 头部压缩:HTTP1的头字段太长了,而且每次都重复发送,非常浪费带宽,HTTP2使用特别的算法在客户端和服务端建立字典记录之前发送的键值对,这样就能用索引号代替重复字符串,压缩效率极高。

  5. 服务端推送:HTTP1中服务端需要等待客户端请求才能被动响应,而HTTP2.0是允许服务端向客户端主动推送的。

2.HTTP3

  1. 相比HTTP2的优化:HTTP2使用流和帧的概念实现了多路复用,但这只是在应用层的优化,并未完全解决队头阻塞问题,在TCP连接中一旦发生丢包就会阻塞住后续所有请求。因此,HTTP3将传输层的TCP协议换为了UDP协议,并引入QUIC协议使UDP实现了类似TCP的可靠传输,如果某个流丢包只会阻塞这个流而不会阻塞其他流。

  2. QUIC 内含了 TLS1.3,只能加密通信,支持 0-RTT 快速建连;

#Java开发##春招##实习##笔试题目##面经##笔经##Java##后端开发#
全部评论
楼主大神啊,看到你分享了不少
1 回复 分享
发布于 2022-03-11 19:05

相关推荐

点赞 评论 收藏
分享
12-22 16:31
已编辑
桂林电子科技大学 Python
点赞 评论 收藏
分享
评论
3
14
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务