让网站打开更快第三弹--开启压缩篇

所属分类: 网站运营 / 建站经验 阅读数: 107
收藏 0 赞 0 分享
什么是压缩?
         大家还记得我们第一次接触winzip软件吗?非常神奇,一个文件,经过winzip压缩后,大小可以压缩成原来的30%左右。记得当年,很多文件,都是压缩后才可以放到自己的软盘中。
而对于网站,也有这样的压缩技术,可以让你的网页中的文本类文件瘦身,在用户完全不知情的情况下,通过gzip和deflate压缩程序有效减少了网页,让用户更快的打开网站。
压缩有多大用处?
         通过一个小小的测试软件,我对新浪、网易等门户网站进行了访问。
         新浪首页访问情况:
  
网易首页访问情况:
大家可以明显的看到,网易和新浪的首页,经过压缩后,都缩小了70%以上。
相信大家都知道,当一个网页,减小到30%后,对于最终用户来说,打开网站的效率会提升为原来的3
备注:
该工具地址http://www.gidnetwork.com/tools/gzip-test.php  大家也可以测试下自己的网站压缩后的情况。
用户不支持压缩怎么办?
开启压缩后,会不会由于用户无法访问这种压缩文件,导致用户访问文件失败?
不会,因为Trident、Gecko、Webkit三种内核的浏览器,都在发起请求时,告知服务器,他们支持什么压缩格式,如下图:
而服务器都是按照发起请求中用户支持的压缩格式,进行对应反馈。如果用户发起的请求头中,无Accept-Enconding头,就将返回给用户非压缩格式。
如何开启压缩?
请百度娘之,网上太多教程了,不再赘述。
对哪些内容开启压缩呢?
只需要针对文本类文件的域名开启压缩。图片等,已经都是压缩格式了,再使用压缩,不会减少什么文件大小,反而会导致服务器负载变高,以及会由于这种对图片的不规范压缩使用导致各种各样意想不到的问题。
所以,开启压缩之前,最好先完成域名拆分的工作,具体见如何让网站打开更快第二弹。
技巧点:
开启压缩,建议使用apache服务器。
因为IIS服务器在处理压缩时有个小问题,就是第一次被访问的时候,IIS给出的文件时非压缩的,后续的访问,才直接给出压缩文件。
这个小的bug,其实问题并不大,但是现在很多网站都在用一些缓存服务器或者是CDN,就会导致这个问题被放大,会导致压缩启用并不能完全成功。
而apache是第一次就直接给出压缩后的文件。
当然了,如果你用的是IIS,并且无法替换apache,那就自己麻烦一些,写个脚本,将常用的页面,在开启压缩后,访问2次,可以减少很多问题发生。
开启压缩之进阶篇
当下的中国网络状况
中国网络谁当家,当然是电信和联通两朵花,但是现在越来越看到的现象是百花争艳,除了这两朵花之外,越来越多的涌现小ISP。如移动、电信通、长城、方正、歌华有线、光环新网、甚至南方地区还有些香港过来的小运营商。
这些小运营商都有一个特点,就是会cache文件,他们会为了减少网间结算带宽,而尽量想办法缓存文件,让他们的用户本地访问。
其次,对于很多中大型公司来说,他们也会搭建自己的缓存服务器。
另外,还有很多网站,自身都搭建或者在使用第三方的CDN,也都是缓存服务器。
所以,当下的中国网络情况,基本上就是缓存服务器在提供众多的服务。所以,你的开启压缩,如果不主动配合这些各种各样的缓存服务器,那么你out了,你会发现,你的很多努力,都是笑谈,并无实际作用。
如何适合当下的状况?如何才可以保证用户支持压缩时,网络间传递的就是你想给他的的压缩文件?
那么,请紧记以下要点,并逐个落实。
开启压缩时,需要针对压缩和非压缩文件,都返回Vary:Accept-Encoding头。
这个头部是告诉缓存服务器,要根据用户支持的编码方式提供对应的文件。
该项很重要,很多网站,只是对压缩文件开启该头。在缓存服务器中,如果给出的非压缩的文件不包含该头部,也就是告知缓存服务器,当用户请求时,不需要判断用户支持的编码格式,而直接将该文件传递。所以,最后导致用户请求到缓存服务器时,无论用户支持不支持压缩,都是直接返回非压缩的文件。
开启压缩时,需要同时对HTTP1.1和HTTP1.0均开启压缩。
大家都是认为,HTTP1.0协议的用户,肯定是特别老的用户,肯定是不支持压缩的,所以,很多网站,都是针对HTTP1.0协议提供非压缩文件。
但是,实际中,太多太多的缓存服务器,为了追求最大的兼容性,还在使用HTTP1.0协议。所以,当你只是对HTTP1.1协议开启压缩时,等于抛个媚眼给瞎子看。
例如,新浪的缓存服务器,也是HTTP1.0协议的,但是他们就很聪明的针对HTTP1.0也开启了压缩服务,如下图:

作者:王康
文章来源:xmw2.blog.chinaunix.net
更多精彩内容其他人还在看

美国Inmotion主机的购买及续费教程

这篇文章主要介绍了美国Inmotion主机的购买及续费教程,90天内无条件全额退款是Inmotion Hosting最为著名的一大特色,需要的朋友可以参考下
收藏 0 赞 0 分享

网站建立前怎么办?企业网站建立前本身有哪些问题被忽略?

网站是需要运营的,在运营过程中有一个重要的点就是营销,而网站的营销大多数朋友采用的就是竞价或者优化。那么网站建立前怎么办?企业网站建立前本身有哪些问题被忽略?下面我们就来看看吧
收藏 0 赞 0 分享

移动端网站页面调试的一些经验分享

这篇文章主要介绍了移动端网站页面调试的一些经验分享,包括远程调试以及针对iOS和Android平台的具体调试方法,干货十足,需要的朋友可以参考下
收藏 0 赞 0 分享

使用Google CDN导致网站页面无法加载的问题解决

这篇文章主要介绍了使用Google CDN导致网站页面无法加载的问题解决,由于谷歌在国内的访问原因,使得很多内置使用Google CDN的产品影响网站的访问,需要的朋友可以参考下
收藏 0 赞 0 分享

网站如何进行改版更好些 网站改版注意事项详情解答

为了应对客户的需求和当下网友们的审美观,很多网站都会在后期进行改版,网站改版期如果做的不过,那么对整个网站就是伤筋动骨的大事了,那么,如何进行网站改版?以及网站改版需要注意哪些事情呢?对此,本文小编就为大家介绍网站改版的详细注意事项
收藏 0 赞 0 分享

美国Hostigation的VPS主机购买管理及评测完全攻略

这篇文章主要介绍了美国Hostigation的VPS主机购买管理及评测完全攻略,Hostigation中用户可以选择KVM或者OpenVZ虚拟机下的服务器,这一点比较难得,需要的朋友可以参考下
收藏 0 赞 0 分享

网站分类目录的赚钱模式有哪些?网站分类目录站点的五种盈利模式分析

近些年网站分类目录站点很受个人建站喜欢,主要因为运营维护不需要花费太大精力,推广简单,外链自然增长,PR值很容易提升,还有盈利渠道简单多样等等,那么网站分类目录的赚钱模式有哪些?本文提供网站分类目录站点的五种盈利模式分析供大家了解,希望对大家有所帮助
收藏 0 赞 0 分享

知乎社区如何保持用户高粘性?

知乎是一个真实的网络问答社区,帮助你寻找答案,分享知识,当下知乎已经从一个小众的极客社区成长为了拥有1700万注册用户的庞大社区,那么知乎是如何做到这些的呢?下面就分析一下
收藏 0 赞 0 分享

如何购买模板?防范购买模板上当受骗的几个方面

于是很多站长开始选择第三条路,那就是购买一些定制化的模板,可是不幸的是,这些采购者往往会遭遇各种各样的陷阱,有些所谓的个性化模板已经被很多人倒转了几手,而且内部还存在着很多的缺陷,买回来也难以使用。所以为了防范自己上当受骗,就需要从下面几个方面来防范
收藏 0 赞 0 分享

简单总结Hadoop和Spark集群技术的不同点

这篇文章主要介绍了简单总结Hadoop和Spark集群技术的不同点,一般情况下人们普遍认为Spark的性能要比Hadoop好很多,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多