Page 195 - Web性能权威指南
P. 195
开发中的标准
HTTP 2.0 还在积极的开发过程中,其核心架构设计、原理及特性非常完
善,但这不代表具体的、底层的实现也同样如此。所以,我们的讨论将围
绕架构及其意义展开,同时简要介绍一下数据格式。这些对理解新协议的
原理和用途已经够了。
要 了 解 HTTP 2.0 标 准 的 最 新 草 案 和 状 态, 请 访 问 IETF 的 跟 踪 页 面:
http://tools.ietf.org/html/draft-ietf-httpbis-http2。
12.1 历史及其与SPDY的渊源
SPDY 是谷歌开发的一个实验性协议,于 2009 年年中发布,其主要目标是通过解决
HTTP 1.1 中广为人知的一些性能限制,来减少网页的加载延迟。大致上,这个项目
设定的目标如下:
• 页面加载时间(PLT,Page Load Time)降低 50%;
• 无需网站作者修改任何内容;
• 把部署复杂性降至最低,无需变更网络基础设施;
• 与开源社区合作开发这个新协议;
• 收集真实性能数据,验证这个实验性协议是否有效。
为了达到降低 50% 页面加载时间的目标,SPDY 引入了一个新的二进制分
帧数据层,以实现多向请求和响应、优先次序、最小化及消除不必要的网
络延迟,目的是更有效地利用底层 TCP 连接;参见 10.3.2 节“延迟是性能
瓶颈”。
首次发布后不久,谷歌的两位软件工程师 Mike Belshe 和 Roberto Peon 就分享了他
们对这个新实验性 SPDY 协议的实现结果、文档和源代码:
目前为止,我们只在实验室条件下测试过 SPDY。最初的成果很激动人心:
通过模拟的家庭上网线路下载了 25 个最流行的网站之后,我们发现性能的
改进特别明显,页面加载速度最多快了 55%。
——A 2x Faster Web Chromium Blog
几年后的 2012 年,这个新的实验性协议得到了 Chrome、Firefox 和 Opera 的支持,
很多大型网站(如谷歌、Twitter、Facebook)都对兼容客户端提供 SPDY 会话。换
句话说,SPDY 在被行业采用并证明能够大幅提升性能之后,已经具备了成为一个
标准的条件。最终,HTTP-WG(HTTP Working Group)在 2012 年初把 HTTP 2.0
提到了议事日程,吸取 SPDY 的经验教训,并在此基础上制定官方标准。
180 | 第 12 章