HTTP2二进制协议

介绍

  与Http1.x(文本协议)不同,Http2是一个二进制协议,所有的消息被http2拆分封装成更小的消息单元帧,并进行二进制编码。其中http1.x的首部信息被封装成HEADER帧和CONTINUATION帧,请求体被封装到DATA帧,如下图所示:
   HTTP2二进制协议_第1张图片

为什么使用二进制协议?

  1. 性能。二进制协议的解析效率超高,几乎没有解析代价;
  2. 带宽。二进制协议没有冗余字段,占用带宽少;
  3. 压缩及Https技术弱化了文本协议的价值;

二进制格式

这里写图片描述

附录:二进制协议 VS 文本协议

二进制协议

二进制协议一般消息头固定和消息体变长 ,每个字段固定了含义 ,其特点如下:

  1. 可读性差,难于调试(缺点);
  2. 扩展性不好 ,如果要扩展字段,旧版协议就不兼容了(缺点);
  3. 解析效率超高,几乎没有解析代价(优点);
  4. 没有冗余字段,体积小(优点);

文本协议

  1. 可读性好,便于调试;
  2. 扩展性也好,方便兼容旧协议;
  3. 解析效率一般,需要进行字符串比对;
  4. 存在冗余字段,体积大;

参考:

  1. https://www.zhihu.com/question/34074946;

你可能感兴趣的:(Http协议)