IIS启用GZIP压缩之后,原以为可以压缩所有文件了,包括html、CSS、JS、图片这些文件,但是当我检查的时候,发现并不是这样的,压缩的只有html文件,而CSS、JS并没有压缩

在卡卡网的网站速度诊断里的检测结果:

html网页已经成功启用了GZip压缩

css文件未成功启用GZip压缩

后来研究发现,IIS启用GZip时默认压缩的只有html网页,如果需要压缩css、js等文件,还需要另外简单配置一个文件。

打开C:\WINDOWS\system32\inetsrv\MetaBase.xml这个文件,然后查找“IIsCompressionScheme”,会发现有三段,后面那个不用管,只设置前面两个即可。其中,"/LM/W3SVC/Filters/Compression/gzip"用于设置gzip压缩,"/LM/W3SVC/Filters/Compression/deflate"用于设置deflate压缩。

如需压缩静态文件,则将HcDoStaticCompression和HcDoOnDemandCompression设置为“TRUE”,并在HcFileExtensions的属性中加入需要压缩的静态文件:css、js等;

如需压缩动态文件,则将HcDoDynamicCompression设置为“TRUE”,并在HcScriptFileExtensions属性中加入需要压缩的动态文件:aspx、php等。

另外,HcDynamicCompressionLevel属性和HcOnDemandCompLevel属性一般都推荐设置为9, 具有最佳性价比。

参考如下各参数设置:

<IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/deflate"
  HcCompressionDll="%windir%\system32\inetsrv\gzip.dll"
  HcCreateFlags="0"
  HcDoDynamicCompression="TRUE"
  HcDoOnDemandCompression="TRUE"
  HcDoStaticCompression="TRUE"
  HcDynamicCompressionLevel="9"
  HcFileExtensions="htm
                        html
                        txt
                        css
                        js
                        xml"
  HcOnDemandCompLevel="9"
  HcPriority="1"
  HcScriptFileExtensions="asp
                        aspx
                        dll
                        exe"
 >
</IIsCompressionScheme>
<IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/gzip"
  HcCompressionDll="%windir%\system32\inetsrv\gzip.dll"
  HcCreateFlags="1"
  HcDoDynamicCompression="TRUE"
  HcDoOnDemandCompression="TRUE"
  HcDoStaticCompression="TRUE"
  HcDynamicCompressionLevel="9"
  HcFileExtensions="htm
                        html
                        txt
                        css
                        js
                        xml"
  HcOnDemandCompLevel="9"
  HcPriority="1"
  HcScriptFileExtensions="asp
                        aspx
                        dll
                        exe"
 >
</IIsCompressionScheme>

设置完毕后,重新启动IIS,再检测时发现css、js等文件已经成功启用IIS GZip了。

最新文章

  1. .net源码分析 - ConcurrentDictionary&lt;TKey, TValue&gt;
  2. Redis 简单命令
  3. SQLAchemy Core学习之Reflection
  4. PowerMock遇到的问题——5
  5. linux shell 指令 诸如-d, -f, -e之类的判断表达式
  6. IOS演变史
  7. 在Openfire中使用自己的数据表之修改系统属性
  8. 微信公众平台入门开发教程.Net(C#)框架
  9. Select的深入应用(2)
  10. B/S 和 C/S
  11. Notepad++配置Python运行环境
  12. hdoj 2178 猜数字
  13. iOS开发——TTS文本发音
  14. Digital Roots(hdoj1013)
  15. Git merge local repository
  16. GCD之异步同步体会
  17. [Luogu3676]小清新数据结构题
  18. nfs 、ftp 和samba都有什么区别?
  19. 痞子衡嵌入式:串口调试工具Jays-PyCOM诞生记(3)- 串口功能实现(pySerial)
  20. VSCode插件开发全攻略(二)HelloWord

热门文章

  1. [android错误] Failed to install *.apk on device &#39;emulator-5554&#39;: timeout
  2. ios Mac 地址获取
  3. Android 之Toast
  4. es6-块级作用域let 和 var的区别
  5. Ubuntu下配置eclipse
  6. kafka delete topic
  7. 栈溢出笔记1.3 准备Shellcode
  8. 解决Mysql中文乱码问题的方案
  9. 转载:在PHP语言中使用JSON和将json还原成数组
  10. 安装 nvm 遇到的坑