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 )关注我们,并与我们的编辑和其他读者朋友交流。
评论