HTTP/2 是 HTTP 协议自 1999 年 HTTP 1.1 发布后的首个更新,主要基于 SPDY 协议。由互联网工程任务组(IETF)的 Hypertext Transfer Protocol Bis(httpbis)工作小组进行开发。该组织于2014年12月将HTTP/2标准提议递交至IESG进行讨论,于2015年2月17日被批准。HTTP/2标准于2015年5月以RFC 7540正式发表。

HTTP/2支持明文(http)和加密(https),如果是明文则是由http1.1请求头添加upgrade等进行协议升级,protocal为h2c(HTTP/2 ClearText),如果是基于TLS加密,则会通过ALPN(Application-Layer Protocol Negotiation,应用层协议协商)扩展表明期望使用h2协议,protocal为h2。

特性

  • 二进制分帧
  • 数据流、消息和帧
  • 请求与响应复用
  • 数据流优先级
  • 流控制
  • 服务器推送
  • 表头压缩(HPACK)

参考

https://developers.google.com/web/fundamentals/performance/http2/?hl=zh-cn
https://httpwg.org/specs/rfc7540.html
https://www.jianshu.com/p/370a71c9a1eb