关于Http2

引用:https://www.cnblogs.com/confach/p/10141273.html

  https://zhuanlan.zhihu.com/p/26559480

Http2使用二进制比1更节约资源

2的请求头部动态表  直接减少请求头资源

一次请求 多个返回  相比1的头部阻塞策略(在浏览器中同一域名会限制6到8个tcp连接以控制资源)  2的多路复用(一次请求返回所有的资源如css、js、html)更加高效  这个方式的基础支撑是基于:

HTTP/2 中,同域名下所有通信都在单个连接上完成,该连接可以承载任意数量的双向数据流。每个数据流都以消息的形式发送,而消息又由一个或多个帧组成。多个帧之间可以乱序发送,根据帧首部的流标识可以重新组装。

 

简单说,HTTP头压缩需要在HTTP/2 Client和服务端之间:

  • 维护一份相同的静态表(Static Table),包含常见的头部名称,以及特别常见的头部名称与值的组合;
  • 维护一份相同的动态表(Dynamic Table),可以动态地添加内容;
  • 基于静态哈夫曼码表的哈夫曼编码(Huffman Coding);

在HTTP头里,有些key:value是固定,例如:

 :method: GET
 :scheme: http

在编码时,它们直接用一个index编号代替,例如:method:GET是2,这些在一个静态表定义。静态表的定义如下,总共61个Header Name

原文地址:https://www.cnblogs.com/liagon/p/14307945.html