HTTP/2 协议

HTTP/1.1 与 HTTP/2 相隔了大概20年,但是从目前的研究和实验情况来看,我们不可能等上几十年才升级到下一个版本,h2 在逐渐的普及。 h2 和 h1 的最大差别在于在 http 层上增加了分帧层;把原来的 http 层的数据拆分成多种帧类型,并在每种类型前加上协议性的帧首部。基于二进制分帧的优点:

  1. 传输使用的编码方式改变(采用帧、流模式),不用创建多个 TCP 连接,单个连接就可以有多个流(处理主页面和所有子元素的请求),能够减少延迟,服务器和浏览器的 socket 负载也大大减少。
  2. 并行处理,乱序发送帧,不再采用 pipeline 阻塞方式
  3. 传输的功能得以扩展(如服务端推送、首部压缩、优先级、流量控制)。

学习 HTTP/2 最好的文档是 RFC 7540。

Read more...