网络基础:HTTP(5):HTTP2相对于HTTP1.X的优势和特点

一、二进制分帧
帧:HTTP/2数据通信的最小单位消息:指HTTP/2中逻辑上的HTTP消息。例如请求和响应等,消息由一个或者多个帧组成。

流:存在于连接中的一个虚拟通道。流可以承载双向消息,每个流都有唯一的整数ID。

HTTP/2采用二进制格式传输数据,而非HTTP1.X的文本格式,二进制协议解析起来更高效。

二、头部压缩
HTTP/1.x会在请求和响应中重复地携带不常改变的、冗长的头部数据,给网络带来额外的负担。

①HTTP/2在客户端和服务器端使用“首部表”来跟踪和存储之前发送的键值对,对于相同的数据,不再通过每次请求和响应发送。

②每个新的首部键值对要么被追加到当前表的末尾,要么替换表中之前的值。

③首部表在HTTP/2的连续存储期内始终存在,由客户端和服务端共同渐进地更新。

(可以理解为只发送差异数据,而不是全部发送,从而减少头部的信息量)
在这里插入图片描述
三、服务器推送
服务器端可以在发送页面HTML时主动推送其他资源,而不用等到浏览器解析到相应位置,发起请求在响应。例如服务端可以主动把js和css文件推送给客户端,而不需要客户端解析HTML时再发送这些请求。

服务器可以主动推送,客户端也有权利是否接收。如果服务端推送的资源已经被浏览器缓存过,浏览器可以通过发送RST_STREAM帧来拒收。主动推送也遵守同源策略,服务器不会随便推送给第三方资源给客户端。

四、多路复用
1.HTTP1.x中,如果想并发多个请求,必须使用多个TCP链接,且浏览器为了控制资源,还会对单个域名有6-8个的TCP链接请求限制。

2.HTTP2中:
①同域名所有通信都在单个连接上完成
②单个连接可以承受任意数量的双向数据流。
③数据流以消息的形式发送,而消息又由一个或者多个帧组成,多个帧之间可以乱序发送,因为根据帧首部的流标识可以重新组装。
在这里插入图片描述

扫描二维码关注公众号,回复: 12335670 查看本文章

猜你喜欢

转载自blog.csdn.net/imagine_tion/article/details/110404178
今日推荐