减少未压缩的数据 让网络速度更快
原文:Use compression to make the web faster
作者:By Arvind Jain, Engineering Director and Jason Glasgow,
Staff Software Engineer
翻译:http://www.blogjava.net/emu/archive/2010/02/18/313398.html
压缩,让网络更快
简介
互联网上,每天有超过99人年浪费在下载 未经压缩的内容 上面。虽然支持压缩已经是每个现代的浏览器的标准功能了,但是它们的使用者们往往还是由于这样那样的原因不能下载到压缩的数据。这样就造成了带宽浪费并且拖慢了用户和网页的交互。
数据不压缩对所有的使用者都是一种伤害。对于窄带用户,下载那些多余的数据花费了更多的时间。而对于宽带用户,虽然数据传输非常快,但是在进入所能达到的最高速的数据传输之前,不压缩的数据也需要更多的网络间往返(IP包)(emu注:这里指的大概是宽带用户在访问多媒体网站时,在高速下载多媒体内容之前,需要先下载网页、css和脚本的资源),这种情况下,网络间的往返次数(IP包个数)在装载一个完整的网页所需要的时间中是一个比网速更大的影响因素。即使网络状况非常好的用户哪里,这些多余的网络间往返也经常会多耗费数十甚至上百毫秒的时间。
在Steve Souders 的《Even Faster Web Sites》里面,Tony Gentilcore用数据展现出了禁止压缩时页面装载时间的增加的情况。在得到了许可后,我们也重现了其总三个Alexa 排名最高等级的网站的测速结果:
网站 |
Alexa 排名 |
总 |
|
|
|
|
10.3KB (44%) |
0.12秒(12%) |
1.3秒 (25%) |
|
2 |
348 KB (175%) |
9.4秒 (414%) |
63秒(524%) |
|
3 |
331 KB (126%) |
1.2秒 (64%) |
9.4秒 (137%) |
数据来自Steve Souders的《 Even Faster Web Sites》中的“第9章:超越Gzip压缩”,经过作者许可。
Google的web搜索日志也显示,下载未经压缩数据的用户比下载压缩数据的用户评价多花费25%的页面装载时间。在一个随机试验中,我们强行给一些(声称)不接受压缩数据的用户推送了压缩数据,结果我们测量到它们的页面延迟有300毫秒的提升。不过这个试验不能完全说明问题,因为这些被强行推送压缩数据的用户中有一些可能是误伤的,因为它们可能真的是在比较老式的计算机上使用比较老的(不支持压缩的)软件(后面会讲到,更多的可能并非如此)。