谷歌的SPDY协议-改善HTTP性能

来源:百度文库 编辑:神马文学网 时间:2024/04/28 09:45:30
[转贴]谷歌的SPDY协议-改善HTTP性能......


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

作者 杰夫 | 2010-01-20 17:00 | 类型 弯曲推荐, 行业动感 | 20条用户评论 »

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