IIS开启GZIP压缩效率对比及部署方法

简介: HTTP压缩    HTTP压缩是在Web服务器和浏览器间传输压缩文本内容的方法。HTTP压缩采用通用的压缩算法如GZIP等压缩HTML、JavaScript或CSS文件。压缩的最大好处就是降低了网络传输的数据量,从而提高客户端浏览器的访问速度。

HTTP压缩

    HTTP压缩是在Web服务器和浏览器间传输压缩文本内容的方法。HTTP压缩采用通用的压缩算法如GZIP等压缩HTML、JavaScript或CSS文件。压缩的最大好处就是降低了网络传输的数据量,从而提高客户端浏览器的访问速度。当然,同时也会增加一点点服务器的负担。GZIP是比较常见的一种HTTP压缩算法。

压缩测试

在部署的IIS 6.0上配置了GZIP压缩,详细的测试结果如下。
未开启GZIP压缩前,访问网站首页进行抓包分析。

开启GZIP后,清空本地IE缓存,再次访问抓包分析。

开启前后,页面大小减小了89213bytes,压缩掉原始大小的87%。
当对CSS、JS等文件都开启GZIP压缩后,原21100bytes的文件,压缩后如图所示,压缩比为80%。

http://www.port80software.com/tools/compresscheck.asp 上测试结果如下。

部署方法

1. 打开Internet信息服务(IIS)管理器,右击"网站"->"属性",选择"服务"。在"HTTP压缩"框中选中"压缩应用程序文件"和"压缩静态文件",按需要设置"临时目录"和"临时目录的最大限制";

2. 在Internet信息服务(IIS)管理器,右击"Web服务扩展"->"增加一个新的Web服务扩展...",在"新建Web服务扩展"框中输入扩展名"HTTP Compression",添加"要求的文件"为C:\WINDOWS\system32\inetsrv\gzip.dll,其中Windows系统目录根据您的安装可能有所不同,选中"设置扩展状态为允许";

3. 使用文本编辑器打开C:\Windows\System32\inetsrv\MetaBase.xml(建议先备份), 
找到Location ="/LM/W3SVC/Filters/Compression/gzip用于设置gzip压缩, 
找到Location ="/LM/W3SVC/Filters/Compression/deflate"用于设置deflate压缩. 上面两个节点紧挨着.并且设置的属性相同。
如果需要压缩动态文件,则将HcDoDynamicCompression设置为"TRUE",
并在HcScriptFileExtensions中增加您要压缩的动态文件后缀名,如aspx;
如果需要压缩静态文件,则将HcDoStaticCompression和HcDoOnDemandCompression设置为"TRUE",
并在HcFileExtensions中增加您需要压缩的静态文件后缀名,如xml、css等;
HcDynamicCompressionLevel和HcOnDemandCompLevel表示需要的压缩率,数值在0-10, 默认为0。
HcDynamicCompressionLevel属性说明:HcDynamicCompressionLevel Metabase Property 
HcOnDemandCompLevel 属性说明:HcOnDemandCompLevel Metabase Property 
说明: 这两个属性值一般推荐设置为9, 具有最佳性价比。

注意

1. 在编辑MetaBase.xml前需要停止IIS,可以使用 net stop iisadmin
2. 修改完成后开启iisadmin服务,并执行iisreset命令

关于SEO的测试

压缩是否对SEO有影响,经测试,开启后仍然可以被很好的收录。
关于对SEO影响的研究文章,还可以参考下面的几篇文章。
具体的效率问题,将继续监控以作研究。
文章链接:
1. 实时进行GZIP压缩优化Asp.Net页面的CompressionModule对Asp.Net Ajax及搜索引擎的兼容性测试!.
http://www.cnblogs.com/aspxcn/archive/2009/02/03/1037924.html
2. Matt Cutts: Gadgets, Google, and SEO
http://www.mattcutts.com/blog/crawl-caching-proxy/


作者:Parry
出处:http://www.cnblogs.com/parry/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

相关文章
|
监控 网络安全 调度
Quartz.Net整合NetCore3.1,部署到IIS服务器上后台定时Job不被调度的解决方案
解决Quartz.NET在.NET Core 3.1应用中部署到IIS服务器上不被调度的问题,通常需要综合考虑应用配置、IIS设置、日志分析等多个方面。采用上述策略,结合细致的测试和监控,可以有效地提高定时任务的稳定性和可靠性。在实施任何更改后,务必进行充分的测试,以验证问题是否得到解决,并监控生产环境的表现,确保长期稳定性。
781 1
|
存储 监控
【Azure Cloud Service】在Azure云服务中收集CPU监控指标和IIS进程的DUMP方法
在使用Cloud Service服务时,发现服务的CPU占用很高,在业务请求并不大的情况下,需要直到到底是什么进程占用了大量的CPU资源,已经如何获取IIS进程(w3wp.exe)的DUMP文件?
154 8
【Azure云服务 Cloud Service】如何在部署云服务Cloud Service时候通过启动任务Start Task来配置IIS (如开启ARR)
【Azure云服务 Cloud Service】如何在部署云服务Cloud Service时候通过启动任务Start Task来配置IIS (如开启ARR)
227 2
|
开发框架 .NET API
在IIS上部署ASP.NET Core Web API和Blazor Wasm详细教程
在IIS上部署ASP.NET Core Web API和Blazor Wasm详细教程
785 3
|
弹性计算 持续交付 Docker
阿里云云效产品使用合集之如何部署到阿里云服务器上的 Windows Server 上的 IIS
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
监控
查看服务器/IIS日志、log、访问信息基本方法
除了手动查看,你也可以使用日志分析工具,如Log Parser、AWStats等,这些工具可以帮助你更方便地分析日志数据。
2575 1
|
前端开发 JavaScript 应用服务中间件
windows server + iis 部署若伊前端vue项目
5,配置url重写规则(重写后端请求) 注:如果没有Application Request Routing Cachefourcloudbdueclaim和URL重写,则是第二部的那两个插件没装上 打开iis,点击计算机->点击Application Request Routing Cache -> 打开功能
576 0
|
应用服务中间件 网络安全 数据安全/隐私保护
SSL证书在IIS上部署使用
该文介绍了如何在IIS上部署SSL证书以实现HTTPS访问。首先建议使用nginx,但若需使用IIS,需有SSL证书(fullchain.pem和privkey.pem)并熟悉IIS操作。文中提供了两种证书转换方法:已有openssl,使用命令`openssl pkcs12 -export`生成.pfx文件;无openssl,通过Python脚本(pyOpenSSL v23.2.0)转换。转换后的.pfx文件导入Windows,选择“本地用户”并输入密码。最后在IIS中绑定证书,测试https访问应能正常工作。
906 0
|
Kubernetes 网络安全 Windows
要在云效部署到阿里云服务器上的 Windows Server 上的 IIS
【2月更文挑战第18天】要在云效部署到阿里云服务器上的 Windows Server 上的 IIS
742 4
|
存储 网络安全 数据安全/隐私保护
Windows Server 2019 IIS HTTPS证书部署流程详解
Windows Server 2019 IIS HTTPS证书部署流程详解
1261 0

热门文章

最新文章

下一篇
oss云网关配置