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

所属分类: 网站运营 / 建站经验 阅读数: 154
收藏 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
更多精彩内容其他人还在看

个人网站可以申请经营性ICPP许可证

中国草根站长给工信部的一个建议,中国个人网站应实施ICPP准入制度.
收藏 0 赞 0 分享

虚拟主机基础知识全接触 新手必备知识

虚拟主机,是在网络服务器上划分出一定的磁盘空间供用户放置站点、应用组件等,提供必要的站点功能与数据存放、传输功能。
收藏 0 赞 0 分享

网络编辑应该如何突破职业发展瓶颈 推荐

网络编辑突破职业发展瓶颈的几点准备,让你更具价值。
收藏 0 赞 0 分享

如何降低网站跳出率 网站运营分析

跳出率必须分开分析,因为主要有四种不同的用户来源:低价值的引荐、其他网站的直接链接、搜索引擎和忠实的用户。
收藏 0 赞 0 分享

对即将上线的奇艺视频网站的思考

百度旗下视频公司近日公布了“奇艺”这一中文名称及域名,并透露,“奇艺”将于3月份上线。
收藏 0 赞 0 分享

网站功能不同设计服务公司的报价自然不同

首先,网站功能不同价格肯定也不同,复杂的价格自然很高,简单的自然就低。
收藏 0 赞 0 分享

电子商务平台服务的核心价值

网站运营:电子商务平台服务的核心价值.
收藏 0 赞 0 分享

不同公司网页设计报价不同的原因分析

根据不同地区的经济水平和实际的行业状况,这些通用性的准则不一定都能发挥效用,但是仍然可以使我们保持清晰的头脑,在价格因素日趋透明的情况下保证自己的利益。
收藏 0 赞 0 分享

提高Alexa排名的20种方法小结

操纵与提高Alexa排名的方法总结.
收藏 0 赞 0 分享

大型网站建站要考虑数据库压力和服务器负载

所谓大型网站就是访问量与流量都很大的一些网站,因此在建站初期就要考虑好当流量达到某一级别是是否可以支撑网站继续正常运营下去。
收藏 0 赞 0 分享
查看更多