HTTP2 特点:
1.加密
默认就用TLS加密
2.二进制传输
http2是一个二进制协议。
http2发送二进制帧。帧的类型有很多种,但他们都有如下的公共字段:
Type, Length, Flags, Steam Identifier和frame payload
3.多路复用
帧是最小的数据单位,每个帧会标识出该帧属于哪个流,流是多个帧组成的数据流。
多路复用,即在一个TCP连接中存在多个流,即可以同时发送多个请求,对端可以通过帧中的表示知道该帧属于哪个请求。在客户端,这些帧乱序发送,到对端后再根据每个帧首部的流标识符重新组装。通过该技术,可以避免HTTP旧版本的队头阻塞问题,极大提高传输性能。
4.头压缩
HPACK,HTTP/2头部压缩
5.服务器PUSH
服务器推送需要客户端显式的允许服务器提供该功能。但即使如此,客户端依然能自主选择是否需要中断该推送的流。如果不需要的话,客户端可以通过发送一个RST_STREAM帧来中止。