use*_*310 9 compression iis svg gzip google-pagespeed
我创建了一个web.config文件,该文件成功打开了文本和消息资源的静态压缩.但是,下面显示的显而易见的解决方案似乎对.svg压缩没有任何影响(验证gzip内容编码未在.svg文件的响应头中设置,但是通过chrome开发人员工具设置为.html,css等) .
这是我的web.config:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<httpCompression minFileSizeForComp="1024" MaxDiskSpaceUsage="500">
<scheme name="gzip"/>
<staticTypes>
<add mimeType="text/*" enabled="true"/>
<add mimeType="message/*" enabled="true"/>
<add mimeType="application/javascript" enabled="true"/>
<add mimeType="image/svg+xml" enabled="true"/>
<add mimeType="application/json" enabled="true" />
<add mimeType="*/*" enabled="false"/>
</staticTypes>
</httpCompression>
<urlCompression doStaticCompression="true" doDynamicCompression="true"/>
<staticContent>
<remove fileExtension=".svg" />
<mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
<remove fileExtension=".svgz" />
<mimeMap fileExtension=".svgz" mimeType="image/svg+xml" />
</staticContent>
</system.webServer>
</configuration>
Run Code Online (Sandbox Code Playgroud)
此问题的动机是按照Google Page Speed Insights的建议提供压缩的SVG字体.我一直在IIS 7.5/Windows 7和IIS 8/Windows Server 2012上测试这个web.config.
有任何想法吗?
IIS 不会 gzip 太小的文件,您可以配置最小大小。在 IIS 7.5 中, minFileSizeForComp的默认值为2700。
你的 svg 文件太小了吗?我在 IIS 管理员 GUI(不是 web.config)中配置了 httpCompression,它运行良好。
您可以查看 microsoft httpCompression 配置参考。示例代码:
<httpCompression
directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
<scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" />
<dynamicTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="message/*" enabled="true" />
<add mimeType="application/javascript" enabled="true" />
<add mimeType="*/*" enabled="false" />
</dynamicTypes>
<staticTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="message/*" enabled="true" />
<add mimeType="application/javascript" enabled="true" />
<add mimeType="*/*" enabled="false" />
</staticTypes>
</httpCompression>
Run Code Online (Sandbox Code Playgroud)
您还可以使用压缩的.svgz文件代替.svg文件来节省 CPU。
要配置.svgz文件的 gzip 内容编码,请参阅:如何为特定文件类型添加编码?
<system.webServer>
<rewrite>
<outboundRules>
<rule name="Rewrite SVGZ header" preCondition="IsSVGZ" stopProcessing="true">
<match serverVariable="RESPONSE_Content_Encoding" pattern=".*" />
<action type="Rewrite" value="gzip" />
</rule>
<preConditions>
<preCondition name="IsSVGZ">
<add input="{PATH_INFO}" pattern="\.svgz$" />
</preCondition>
</preConditions>
</outboundRules>
</rewrite>
<staticContent>
<mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
<mimeMap fileExtension=".svgz" mimeType="image/svg+xml" />
</staticContent>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6053 次 |
| 最近记录: |