HTTP 1.1 和 HTTP 2.0 的区别


  • 多路复用
    • 1.1: 同一个 TCP 连接同一时间内只能处理一个请求, 上一个请求完成才能处理下一个
    • 2.0: 支持多路复用, 同一个 TCP 连接可以并行处理多个请求
  • 二进制格式
    • 1.1: 使用纯文本传输数据
    • 2.0: 使用二进制帧传输, 是多路复用的基础, 将同一个 TCP 连接上的多个请求数据拆分成若干个帧, 用编号区分来自于哪个请求, 最后合并成一个完整的请求
  • 头部压缩
    • 1.1: 每次请求都发送所有字段, 导致部分字段重复, 增加带宽消耗
    • 2.0: 引入了头部压缩, 减少数据包体积
  • 服务器推送
    • 1.1: 客户端必须主动发起请求才能获取数据
    • 2.0: 允许服务器主动提前推送静态资源到客户端, 提升页面加载速度