让网络速度更快 减少未压缩的数据

所属分类: 网站运营 / 建站经验 阅读数: 73
收藏 0 赞 0 分享

原文: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 排名

下载时间增长量(首次打开时)

页面加载时间增长
(1000/384 Kbps DSL)(宽带)

页面加载时间增长
(56 Kbps modem)(窄带)

www.google.com

1

10.3KB (44%)

0.12(12%)

1.3 (25%)

www.facebook.com

2

348 KB (175%)

9.4 (414%)

63(524%)

www.yahoo.com

3

331 KB (126%)

1.2 (64%)

9.4 (137%)

数据来自Steve Souders的《 Even Faster Web Sites》中的“第9章:超越Gzip压缩”,经过作者许可。

Google的web搜索日志也显示,下载未经压缩数据的用户比下载压缩数据的用户评价多花费25%的页面装载时间。在一个随机试验中,我们强行给一些(声称)不接受压缩数据的用户推送了压缩数据,结果我们测量到它们的页面延迟有300毫秒的提升。不过这个试验不能完全说明问题,因为这些被强行推送压缩数据的用户中有一些可能是误伤的,因为它们可能真的是在比较老式的计算机上使用比较老的(不支持压缩的)软件(后面会讲到,更多的可能并非如此)。

它们为啥不支持压缩?

我们发现有4种常见的原因导致用户接受不到压缩内容:杀毒软件,浏览器缺陷,网络代理和服务器配置错误。前面3种影响了网络请求导致了网络服务器不知道浏览器其实能解压内容,尤其是它们错误的吧浏览器本来应该在每个请求中发送给服务器的Accept-Encoding 这个http头给去掉或者破坏了。

杀毒软件可能是为了减少cpu占用,对网络请求进行了拦截和篡改,这样服务器就会发送不压缩的数据给客户端(这样它们就不用先解压后查毒而可以直接查毒了)。但是,如果CPU是系统的性能瓶颈,那么杀毒软件这样做根本不是在帮忙而是在添乱。一些著名的杀毒软跟网络压缩有冲突。网友们自行可以到Browserscope.org上的 浏览器压缩支持测试页面 上验证一下自己的杀毒软件是否和网络压缩有冲突。

默认情况下IE6浏览器在通过代理服务器访问网络的时候会降级通讯协议为HTTP/1.0(在IE6的工具——Internet选项——高级 中的第2个选项叫做“  通过代理连接使用 HTTP 1.1  ” ),其结果就是不会发送一个Accept-Encoding的请求头部。下面的表格是从Google的网络搜索日志中生成出来的,显示出来自IE6的搜索在所有“未声明接受压缩结果”的搜索中占了36%。这个比例比IE6的实际使用比例要高。

浏览器

搜索结果中要求不压缩的比例

在所有未声明支持压缩的搜索中所占的比例

Google Chrome

1

1

Safari

1

1

Firefox 3.5

3

4

Internet Explorer 8

6

5

Firefox 3.0

6

7

Other

46

22

Internet Explorer 7

7

24

Internet Explorer 6

20

36

数据来自Google网络搜索日志

还有那么一小撮ISP,它们的未压缩内容(未声明接受压缩的请求)的比例超过了95%。一个看起来有道理的假设是,这些ISP或者公司代理去掉或者篡改了Accept-Encoding这个HTTP头部。和杀毒软件的情况一样,怀疑自己的ISP和网络压缩有冲突的网友们自行可以到Browserscope.org上的 浏览器压缩支持测试页面 上验证一下。

最后还有一种情况,用户下载到了未经压缩的内容是因为访问的网站根本就不压缩内容。下面的表格显示了几个不压缩内容的流行站点。这些网站要是压缩它们的内容,它们平均可以给每个访客减少数百毫秒的页面加载时间,对于那些窄带用户影响更为明显。

 

数据使用 Page Speed 生成

该怎么做?

为了减少未压缩的数据,我们需要一起努力

  • 公司里的IT部门和独立的个人用户可以升级浏览器,尤其是用IE6通过代理服务器上网的用户。使用最新版本的 FirefoxInternet ExplorerOperaSafari, 或者 Google Chrome 可以增加下载到压缩后数据的机会。一份最近的 IEEE分析期刊社论 中列出了更多的——除了压缩之外——的升级掉IE6浏览器的理由。
  • 杀毒软件供应商可以开始正确的解决压缩问题,在后续的发行版中停止篡改和删除Accept-Encoding这个HTTP头部。
  • 那些使用http代理并且把Accept-Encoding这个HTTP头部篡改或者剥离掉的ISP们,可以升级、重新配置或者安装一个好一点的不会禁止用户使用压缩功能的代理服务器。
  • 网络管理员们可以用 Page Speed (或者其他类似的工具)来检测自己的网页内容是否是经过压缩的。
网站 资源类型 可压缩的字节数
www.cnn.com CSS and JavaScript 330 kB
www.twitter.com CSS and JavaScript 40 kB
www.bbc.co.uk CSS and JavaScript 201 kB
更多精彩内容其他人还在看

对7种博客赚钱方法的一些思考 最信赖Adsense

其实我并不喜欢互联网中什么CPA、CPC、CPM等博客赚钱方法,直到现在我博客也只挂了个Google Adsense,心里一直认为这种按点击、按展示量付款的模式不靠谱
收藏 0 赞 0 分享

浅谈地方站运营的三大法宝

本人在2000开始接触网站制作了,只是在业余时间搞的玩,只是懂一点简单的制作,对网站的运营也是2005年后开始接触的。
收藏 0 赞 0 分享

做网站6年的一些个人经验之谈

我是一个地地道道的菜鸟,不懂程序,可以说头脑是一片空白,但是我对做站有浓厚的兴趣。刚开始,我通过自助做站结识了建网站,由免费到申请了一个90元一年的空间。
收藏 0 赞 0 分享

每个网页设计者都自以为是

网页技术更新很快,一个网站的界面设计寿命仅仅2-3年而已。不管是垃圾还是精品,都没有所谓的经典。
收藏 0 赞 0 分享

中国草根站长心理分析之一二三

从我踏入站长圈那天起我就在分析每个我所认识的站长的性格,也渐渐积累了一些自己的看法。
收藏 0 赞 0 分享

个人站长生存学 垃圾站解决生存问题

很难想像在如今这个资本为王的社会,个人站长这个群体仍然坚强地站立着,成为这个互联网的有力组成部分。他们没有雄厚的资金,也没有非常高端的技术,但是他们也确实依靠自己的网站养家糊口,单打独斗自有自己的一套生存学。
收藏 0 赞 0 分享

网站更换域名对网站带来的影响及补救措施完美小结

更换域名,通常情况下网站是需要承受着搜索引擎带来的很大风险的,作者通过自己的亲身经历,总结出了能尽可能将风险降到最小的办法,有需要的朋友可以尝试下。
收藏 0 赞 0 分享

个人站长怎样选择做站

做站是为了赚钱,我相信没人会反对,网站有了流量,才能赚钱,本篇文章将为大家介绍做站方向的取舍,使流量来的快,竞争小。
收藏 0 赞 0 分享

网站的成败往往决定于小细节

今天我们就谈一下新手站长可能会犯的错误,看看哪些是你曾做过的,看了这些希望你能豁然开朗。
收藏 0 赞 0 分享

新网站初期需要注意的一些技术问题小结

对互联网有了解的人都有自己的想法,有人就把想法付诸实现,做个网站然后开始运营。
收藏 0 赞 0 分享
查看更多