2010年1月21日星期四

[GFW BLOG] 谷歌的SPDY协议-改善HTTP性能,突破网络封锁

作者:杰夫   来源:弯曲评论

image      大家知道,互联网的基本协议是TCP/IP,后来有了HTTP,才带来了web,使互联网进入千家万户,成为大家生活中不可或缺的一部分。HTTP自上世 纪90年代问世以来,已有二十年的历史,期间互联网本身发生了很大的变化,也使得HTTP的许多不足暴露了出来,现在它已经不能满足许多web app的要求。两个月前,谷歌启动了一个工程,叫做SPDY项目(发音是speedy),目的是要改善HTTP的性能,使用户下载网页更加快速。之所以要 改动HTTP而不是TCP/IP,是因为改变HTTP只需更新Browser和web server就行了,而改动TCP/IP就困难多了,牵扯面太广,需要更新巨量的路由器,服务器和客户端的操作系统。

      如上图所示,SPDY介于HTTP和TCP之间,处于Session layer,其下面还强制使用SSL,增强数据安全性。谷歌的Chrome浏览器已经开始支持SPDY协议,在其地址框中键入 spdy://www.google.com就可以用SPDY协议而不是HTTP来访问谷歌的网站。谷歌自己的实验结果表明,使用SPDY协议,网页显示 速度可以提高50%。SPDY主要针对HTTP以下不足进行了改进。

  • Single request per connection. 由于每次只能发一个request,含有许多文件的网页就会很慢。目前浏览器的办法是同一页面开多个connection,最多是6个。SPDY允许在一 个TCP connection上同时发多个request。
  • 只有client才能initiate request,server端不可以,哪怕是server有文件要发到client。
  • HTTP header没有压缩。由于使用cookies,现在的HTTP header变得越来越大,典型长度是700-800字节,可能会长达2K,占用了大量的带宽。SPDY对HTTPheader进行了压缩。
  • HTTP的数据包的压缩是可选项。SPDY压缩所有数据。

      SPDY还会带来一个巨大的副作用,但谷歌的网页中却只字未提。由于SPDY使用了SSL和数据压缩,那么网站封锁工具,例如什么防火长城呀,什么盾呀等 等,将无法识别其数据内容,也就无法进行过滤。这可能是SPDY设计者的一个重要目的,但出于某种原因,他们没说出来。不知道,SPDY会不会因此在一些 国家被禁用。

      SPDY目前来处于测试阶段,有兴趣的读者可以访问下面谷歌网页进一步阅读。

      http://dev.chromium.org/spdy




--
Posted By GFW Blog to GFW BLOG at 1/21/2010 04:55:00 AM

没有评论:

发表评论