- 完整的请求与响应复用
- 有效压缩 HTTP 标头字段
- 增加请求优先级的支持
- 增加服务端推送的支持
- 新的流控制、错误处理和升级机制
HTTP/2 的三个概念:
- 数据流
- 消息
- 帧
关系:
- 所有通信都在一个 TCP 连接上完成,此连接可以承载任意数量的双向数据流
- 每个数据流都有一个唯一的标识符和可选的优先级信息,用于承载双向消息
- 每条消息都是一条逻辑 HTTP 消息(例如请求或响应),包含一个或多个帧
- 帧是最小的通信单位,承载着特定类型的数据,例如 HTTP 标头、消息负载等。来自不同数据流的帧可以交错发送,然后再根据每个帧头的数据流标识符重新组装。