现代的浏览器IE6和Firefox都支持客户端Gzip,也就是说,在服务器上的网页,传输之前,先使用Gzip压缩再传 输给客户端,客户端接收之后由浏览器解压显示,这样虽然稍微占用了一些服务器和客户端的CPU,但是换来的是更高的带宽利用率。对于纯文本来讲,压缩率是 相当可观的。如果每个用户节约50%的带宽,那么你租用来的那点带宽就可以服务多一倍的客户了。二此功能在IIS6.0得到了集成,但是并没有提供一个很 好的接口来操作。
一. HTTP压缩概述
HTTP压缩是在Web服务器和浏览器间传输压缩文本内容的方法。HTTP压缩采用通用的压缩算法如gzip等压缩HTML、JavaScript或 CSS文件。压缩的最大好处就是降低了网络传输的数据量,从而提高客户端浏览器的访问速度。当然,同时也会增加一点点服务器的负担。Gzip是比较常见的 一种HTTP压缩算法。
二. HTTP压缩工作原理
Web服务器处理HTTP压缩的工作原理如下:
Web服务器接收到浏览器的HTTP请求后,检查浏览器是否支持HTTP压缩;
如果浏览器支持HTTP压缩,Web服务器检查请求文件的后缀名;
如果请求文件是HTML、CSS等静b文件,Web服务器到压缩缓冲目录中检查是否已经存在请求文件的最新压缩文件;
如果请求文件的压缩文件不存在,Web服务器向浏览器返回未压缩的请求文件,并在压缩缓冲目录中存放请求文件的压缩文件;
如果请求文件的最新压缩文件已经存在,则直接返回请求文件b压缩文件;
如果请求文件是ASPX等动态文件,Web服务器动态压缩内容并返回浏览器,压缩内容不存放到压缩缓存目录中。
在网上找过很多的资料,gzip对搜索引擎Seo不会有影响,并且Baidu也明确表示可以解析Gzip数据。
我们用站长站的工具来检测一下网钛官网在Gzip以后的效果:
不过注意 GZIP一般只对 Html 吕嗟奈谋居行Ч,而对已经压缩过了的图片如 gif,jpg 等是没有效果的。
下面我们来一步一步教大家如何打开IIS的Gzip
1. 停止IIS服务,右击“本地计算机”--》所有任务--》重新启动IIS孪吕选择“停止Internet服务”,再点击“确定”;
2. 在Internet信息服务(IIS)管理器,右击“Web服务扩展”-》“增加一个新的Web服务扩展。。.”,在“新建Web服务扩展”框中输入扩展名“Gzip”,添加“要求的文件”为C:\WINDOWS\system32\inetsrv\gzip.dll,其中Windows系统目录根据您的安装可I有所不同,选中“设置扩展状态为允许”;
3. 打开Internet信息服务(IIS)管理器,右击“网站”-》“属性”,选择“服务”。在“HTTP压缩”框中选中“压缩应用程序文件”和“压缩静态文件”,按需要设置“临时目录”和“临时目录的最大限制”;
4. 此时重启IIS,压缩就生效了,设置完成。但是默认设置压缩的文件格式太少,可以进一步设置 即先不要重启IIS,即跳过第4步,操作第5步。
5. 修改 MetaBase.xml,建议先备份。
可以用记事本打开,找到 IIsCompressionScheme,有三个相同名字的段,分别是deflate,gzip,Parameters,第三段不用管它,前两段有基本 相同的参数
HcDynamicCompressionLevel ,设置压缩率,取值0~10,0不压缩,10最高压缩率,这里设置成9,9是性价比最高的一个。
HcFileExtensions,需要压缩的静态文件扩展名,默认只有htm,html,txt,可以把js,css,xml添加进去。建议按原来的格式,用换行作为分隔。 HcScriptFileExtensions,需要压缩的动态文件扩展名,如添加php,aspx。
6、保存MetaBase.xml,重启IIS,即设置OK。