多年来人们依赖 TCP 和 HTTP 协议的结合来处理数据通讯的请求和接收,并把相应产生的数据包传输到特定的地方。但是它们并不完美。相比于人们设计这些协议的时候,现在的网站已经变得庞大得多也复杂得多。HTTP 在网络延迟方面的问题尤其突出,因为:
- 同一时间一个连接只能索取一个单一资源
- 只有客户端能在 HTTP 协议下发起请求
- 请求和响应头不经过压缩,体积可以变得相当大。另外,很多请求和响应头的传输是多余的
- 经过 HTTP 传输的数据并不总是经过压缩
总之,目前的网络没有发挥出本应达到的速度,随着网站越来越庞大和复杂,这个问题将会显得越来越严重。为了缓解这个问题,Google Chromium 团队发展出一个新的网络协议,此协议可以减小延迟和加速网页载入。这就是 SPDY,Google 已经将其用于自家的大部分服务中(Twitter 和其他若干网站也已经在使用),使加载速度大大提升,如果你使用的浏览器支持 SPDY 的话。
好消息是 Opera 也已经努力实现对 SPDY 的支持,完成后 Opera 也可以利用 SPDY 提升性能。其他好处,包括对 Google 的服务、其他使用了 SPDY 的网站和应用的兼容性会有所改善,并允许开发者在 Opera 中测试自己的依赖 SPDY 的服务。
关于 SPDY 的更多信息
SPDY 并不完全取代 HTTP 和 TCP —— 它基于这些协议并拓展了它们。不过 SPDY 有很多优点,例如每个连接索取多个资源、更高效的连接管理和数据格式。
SPDY 不强制压缩数据,但是它要求用户代理 (User-agent) 必须支持 gzip 压缩。不管用户代理发送的 Accept-Encoding
header 如何,服务器总会以 gzip 或者 deflate 对内容编码并发送。
目前网络上有两个版本的 SPDY 在部署并使用:spdy/2 和 spdy/3。两者都可能被 Google 所有服务(使用加密连接)和 Twitter 使用(由客户端判断使用哪个版本)。这个判断是由 NPN 协议 在 SSL 握手期间决定。当然客户端也可以决定绕过 SSL 而使用普通 HTTP。
Google 准备好了一个 SPDY module for Apache 2.2,任何人可以在他们自己的基于 Apache 的服务器上部署和使用 SPDY 来构建网站和应用。
下载 Opera SPDY build
关于 Opera 对 SPDY 的支持现状的说明
Opera 目前对 SPDY 的实现支持 spdy/2 和 spdy/3 协议的所有特性,以下除外:
- PUSH and HINT: 就我们所知,目前网络上没有部署和使用 PUSH and HINT,并且无法在 mod_spdy 中使用,所以我们决定目前不实现它,直到我们须要在其上测试一些东西,或者有更多实际用法的时候。
Alternate-Protocol
header: Chrome 和 Firefox 都没有按照 SPDY 草案 2 所描述的方式实现它,而且 SPDY 草案 3 甚至没有再提过它,所以我们决定不支持。- Persisting SETTINGS values: 服务器可以要求客户端保留它所接收的部分连接设置。在此情况下,客户端应该记住这些设置,然后在将来所有连接中使用(用户也应该能按照自己的意愿清除这些设置)。这不是 SPDY 协议的重要特性,SPDY 没有它也运作良好,不过我们将来可能会实现它。
它有多快?
我们粗略构建了一个性能测试,在 Windows 上有 50 毫秒的延迟,测试结果显示,在网络层上 SPDY 对比普通 HTTPS 有 38.67% 的性能提升。一个很不错的开始。
Google 也有提供一些 SPDY 性能测试结果。
如何知道 Opera 在使用 SPDY?
是否在使用 SPDY 协议对用户是完全隐形的。没有形如 spdy://
的附加方案,也没有什么指示标识会说 “注意!该页面使用 SPDY!”。Firefox 和 Chrome 有相关标识扩展,等我们造出相关的必要 API 之后 Opera 也应该会有相应的扩展。
辨别 SPDY 网站的一个方法是看由 SPDY 加载的附加 header,Opera Dragonfly 就可以查询得到。spdy/2 附加 header 形如 method
, scheme
, url
and version
。spdy/3 附加 header 形如 :method
, :scheme
, :host
, :path
and :version
。
总结
SPDY 是相当有用的新协议,比起旧的 HTTP/HTTPS,它已经展示出显著的性能提升。请在原文下提交对 Opera 的实验性 SPDY 版本的反馈,或者用 bug wizard 提交 bug。
SPDY 的更多信息包括 Google 的性能测试结果,可以在 Chromium Team SPDY Whitepaper 找到。
:eek: 采采威武
威武威武
采大威武。
学习了。
原来这也是一个12.01版本哦
新东西,学习了。
为什么opera中文论坛一点消息都没有呢,就像要黄了一样,