摘要

  • 2012 年 11 月的 HTTP/2 首份工作组草案仍叫《SPDY Protocol》,并明说它只是待讨论的起点。
  • 到 2015 年 2 月,IETF 已批准 HTTP/2 和 HPACK。Chrome 同月宣布将用 HTTP/2、ALPN 取代 SPDY、NPN。

原型带着原名进门

2012 年 11 月的 HTTPBIS 初稿封面就写着 SPDY Protocol。底层框架承载多条并行、可分优先级的压缩数据流;上层保留类似 HTTP 的语义,方便现有应用使用。编辑说明把它定位为暂时的工作起点,后续由工作组决定增删。Google 拿出了能运行的代码,标准组织还要决定公共线路怎么走。

IETF 在 2015 年 2 月的回顾写到,工作组举行六次中间会议,并让实现者在草案之间反复试验。负责人统计了两百多项设计问题、十七份草案和三十个实现。这些数字描述标准制定过程;网站采用规模需要另行测量。最终获批的 HTTP/2 和 HPACK,在格式、压缩及 HTTP 语义映射上都有重要修改。

头部压缩寄来账单

RFC 7541记录,SPDY 用 DEFLATE 压缩请求头;CRIME 攻击揭示了这种方法的安全风险。工作组另定 HPACK,限定内存需求,并降低对已知攻击的暴露。2015 年 5 月的 RFC 7540则把经 TLS 的 HTTP/2 协商标识定为 h2,使用 ALPN。多路复用留了下来,线上协议却重新定了规矩。

Chrome 在 2015 年 2 月公告中宣布加入 HTTP/2,并计划移除 SPDY 和 NPN,转向 HTTP/2 与 ALPN。该公告后续更新指向 Chrome 51。要确定实际切换日期,还需核对那一版带日期的发布记录。原型赢得了第一份草案的位置;最终线路由更多实现者共同敲定。

来源