HTTP/2 规范发布获批

  • James Chesters
  • 丛一

2015 年 2 月 27 日

话题:语言 & 开发

据互联网工程工作小组(IETF)报告,HTTP/2 规范已经通过发布批准。

在 HTTP/1.1 启动 15 年后,IETF 仔细审查了超过 200 个设计议题,17 个版本的草稿和 30 个具体实现,最终批准该规范作为标准过程征求修订意见书(RFC)发布。

从 HTTP/1 至今,网页对资源的占用日益增加。从HTTP Archive获得的统计数据显示了 Web 的增长情况。

例如,上面两个图表展示了从 2011 年 2 月(左图)到 2015 年 2 月(右图)之间网页中字体使用的变化情况,从原有的 2% 增长到 47%。

与其类似,下方的图表展示了每种内容类型在每页中的平均字节数。2011 年 2 月时,字节总数是 654kb。2015 年,这一数字增长到 1867kb。其中图片类型的平均字节数占 394kb,2015 年这一数字为 1085kb。

HTTPBIS 工作小组主席 Mark Nottingham 在 IETF博客的一篇博文HTTP/2 获批中宣布了这一决定。据他介绍:

HTTP 工作组从 2012 年开始 HTTP/2 规范的相关工作,以谷歌的 SPDY 协议作为起点,并主持了一个系列六次的中期会议吸纳社区反馈。这让协议的格式、压缩方案和 HTTP 语义映射有了本质性的改变。

最终的协议设计让 HTTP/1 和 HTTP/2 之间可以无缝切换,应用程序和 API 只需要很小的改变,就能够有更优的性能和更好的网络资源使用。大部分的 Web 用户在无需任何变化的情况下,就能够从 HTTP/2 的改进中受益。

据 Nottingham 介绍,HTTP/2 能够为用户提供更快的浏览体验,降低对带宽的需要并且能够让安全连接的使用更加容易。

与 HTTP/1 相比,主要区别包括:

  • HTTP/2 采用二进制格式而非文本格式
  • HTTP/2 是完全多路复用的,而非有序并阻塞的——只需一个连接即可实现并行
  • 使用报头压缩,HTTP/2 降低了开销
  • HTTP/2 让服务器可以将响应主动“推送”到客户端缓存中

为了支持 HTTP/2,2015 年 2 月,谷歌宣布计划到 2016 年将不再支持 SPDY。与此同时,为了在 Chrome 中支持 ALPN,谷歌还计划停止对 TLS 扩展 NPN 的支持,并且该公司强烈鼓励服务器开发者向 HTTP/2 和 ALPN 转移。

为了反驳关于 IETF 迫于谷歌的压力才采用 SPDY 协议的猜疑,Nottingham 表示

小组中任何一个与 Mike 和 Roberto(Mike Belshe 和 Roberto Peon,谷歌 SPDY 协议的共同创造者)实际接触过的人都知道他们没有任何私心,耐心地解释他们的设计背后的原理,虚心接受批评并与组里的每一个人合作逐步形成最终的协议。

在融合了各自提出的关于报头压缩的竞争性提案之后,Roberto 还与 Herve Ruellan 一起担任了 HPACK 撰写人。

查看英文原文:HTTP/2 Specifications Approved for Publication

语言 & 开发