我正在尝试使用iisspeed.com的“ Microsoft IIS 的 Brotli 压缩模块”让新的Brotli压缩方案在 IIS 中工作。
如果我将<httpCompression>
配置部分更改applicationHost.config
为只有Brotli 模块,Brotli 压缩模块本身就可以正常工作。
问题是我想同时拥有gzip和 Brotli,并且更喜欢 Brotli
iisspeed.com 上的文档说要这样做:
<httpCompression directory="path\to\temp\folder" minFileSizeForComp="50">
<scheme name="br" dll="path\to\iisbrotli.dll" />
<scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" />
...
</httpCompression>
但是我发现这不起作用。
浏览器(本例中为 Chrome)发送以下accept-encoding
标头:
accept-encoding: gzip, deflate, sdch, br
这意味着浏览器可以接受 Brotli 编码br
以及gzip
. 我希望 IIS 更喜欢br
,gzip
但似乎没有办法对<scheme>
config 中的每个元素进行优先级排序。我尝试更改 .config 文件中的顺序,但没有效果。
IIS 始终使用gzip
,即使br
受支持,并且会首选,因为它的文件大小更小。
我搜索了谷歌,发现在 IIS 6 中每个压缩方案都有一个优先级设置,但它似乎已在 IIS7+ 中删除。
它被调用HcPriority
并进入 IIS6 元数据库 XML 文件。
请参阅以下链接:
https://msdn.microsoft.com/en-us/library/ms525366(v=vs.90).aspx
https://blogs.iis.net/ksingla/changes-to-compression-in-iis7
https://forums.iis.net/t/1150520.aspx