我想将一些静态内容提供给浏览器,发现与 gzip 相比,Brotli 将最终下载包的大小减少了 43%。
我首先尝试只设置 Brotli,所有现代浏览器都下载压缩文件。但是当尝试使用 IE11(不支持 brotli)时,下载原始内容而不进行任何影响性能的压缩。
为了解决这个问题,我将 Gzip 和 Brotli 都保存在 IIS 上。但是现在所有的浏览器都只下载 Gzip 格式的内容,这很可能是因为请求头的顺序是 gzip 先出现的。
我想让它有条件,以便默认情况下浏览器以 Brotli 格式下载内容,如果浏览器不支持它,则自动切换到 gzip 格式。
知道怎么做吗?
<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
<scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" />
<scheme name="br" dll="%Windir%\system32\inetsrv\brotli.dll" dynamicCompressionLevel="5" staticCompressionLevel="11" />
<dynamicTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="message/*" enabled="true" />
<add mimeType="application/x-javascript" 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="application/atom+xml" enabled="true" />
<add mimeType="application/xaml+xml" enabled="true" />
<add mimeType="image/svg+xml" enabled="true" />
<add mimeType="*/*" enabled="false" />
</staticTypes>
</httpCompression>