IIS:开启GZIP压缩效率对比及部署方法
HTTP压缩
HTTP压缩是在Web服务器和浏览器间传输压缩文本内容的方法。HTTP压缩采用通用的压缩算法如GZIP等压缩HTML、JavaScript或CSS文件。压缩的最大好处就是降低了网络传输的数据量,从而提高客户端浏览器的访问速度。当然,同时也会增加一点点服务器的负担。GZIP是比较常见的一种HTTP压缩算法。
部署方法
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(建议先备份),
(metabase.xml无法编辑,解决办法)
要对metabase.xml进行修改,打开之后,修改完成了,但是点击保存,提示“文件正在使用,无法保存”。在百度搜索了下,找到了解决方法,如下:
1、打开iis管理器,右击本地计算机--选择属性,如下图
2、勾选"允许直接编辑配置数据库",这样就可以在不停止IIS的情况下编辑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命令
//************************************************************************
IIS启用GZip失败之原因:临时目录权限没设好
对于第一次配置IIS GZip的新手来说,可能会因为这因为那的原因导致不能正常启动GZip,选择临时目录轻而易举,但是临时目录的权限设置问题往往会被忽视。
通过测试,GZip临时目录需要添加如下权限即可:IIS_WPG用户组、IIS用户,NetWork Service用户。同时需要赋予它们的读写权限。设置如下图所示:
需要特别注意的是,设置完毕后,还需要重新启动下IIS。(在dos里直接输入:iisreset /restart ,可重启IIS。)
好了,立即检测下GZip是否启动成功了?gzip压缩检测
最新文章
- java split进行字符串分割
- FPGA中的INOUT接口和高阻态
- Knockoutjs的环境搭建教程
- Android SDK Manager无法更新,内容显示不全的解决办法
- Javascript页面之间参数传递 (前端)
- chrome 修改标签页
- Oracle创建删除用户,角色,表空间,导入导出数据库命令总结(转载)
- hdfs[命令] dfs
- HTML5 drag &; drop 拖拽与拖放简介
- Android 共享文件的 Runtime 权限
- Java---设计模块(单例的变形)(多例)
- 数据库的group by 分组
- OpenCV探索之路(二十四)图像拼接和图像融合技术
- 201521123060 《Java程序设计》第13周学习总结
- 基于HTML5和WebGL的碰撞测试
- Fire Again CodeForces - 35C (BFS)
- linux基础之程序包管理(rpm,yum)
- Python3求笛卡尔积的两种方法
- Django组件(一) Django之分页器
- 根据Request获取真实客户端IP