HTTP 2.0 首个草案发布

  • Dio Synodinos
  • 雷慈祥

2012 年 12 月 3 日

话题:语言 & 开发架构

HTTP 规范的编辑们已经发布了2.0 版本的首个草案,它直接复制于 SPDY,并将作为后续改进的基础。很多修改还有待完成,例如添加新特性、移除现有特性以及修改线上文档等。供测试实现使用的草案预计明年年初发布

HTTP 2.0 由 IETF 的 Hypertext Transfer Protocol Bis(httpbis)工作组开发,这将成为 1999 年 1.1 版本(RFC 2616)发布以来的首个新版本。

HTTP 2.0 的目标包括:

  • 异步连接多路复用
  • 头部压缩
  • 请求 / 响应管线化

保持与 HTTP 1.1 语义的向后兼容性也是该版本的一个关键目标。

SPDY 是一种 HTTP 兼容协议,由 Google 发起,目前 Chrome、Opera、Firefox 以及 Amazon Silk 等浏览器均已提供支持。

HTTP 实现的瓶颈之一是其并发要依赖于多重连接。HTTP 管线化技术可以缓解这个问题,但也只能做到部分多路复用。此外,已经证实,由于存在中间干扰,现有的浏览器无法采用管线化技术。

SPDY 在单个连接之上增加了一个帧层,用以多路复用多个并发流。帧层针对 HTTP 类的请求响应流进行了优化,因此现在运行在 HTTP 之上的应用,对应用开发者而言只要很小的修改甚至无需修改就可以运行在 SPDY 之上。

SPDY 对当前的 HTTP 协议有 4 个改进:

  • 多路复用请求
  • 对请求划分优先级
  • 压缩 HTTP 头
  • 服务器推送流(即 Server Push 技术)

SPDY 试图保留 HTTP 的现有语义,所以 cookies、ETags 等特性都是可用的。

SPDY 中的很多架构方法(如多路复用),W3C HTTP-NG 工作组曾经进行过早期的探索,但该工作组已于 1998 年暂停。改进 HTTP 这一问题已经讨论了多年,不久前还成了InfoQ 的愚人节玩笑

查看英文原文HTTP 2.0 First Draft Published


感谢臧秀涛对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

语言 & 开发架构