html不能压缩gzip,gzip压缩后怎么css会压缩失败?

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

e567c63bc2ee328050aa580ff0d30bad.png

在线诊断的检测结果:html网页已经成功启用了GZip压缩

490d0c74fe66c957f686ab6c73a289e9.pngcss文件未成功启用GZip压缩

29e4a240b4e179ec2024751dd6c5e89e.png

后来研究发现,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, 具有最佳性价比。

参考如下各参数设置:

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"

>

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"

>

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

962a19af074370bd10f49aaaa712adea.png

更多web前端知识,请查阅 HTML中文网 !!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值