Asp.net core asp.net core 2.2 brotli压缩在IIS上不工作?
我阅读了Asp.NETCore2.2文档 我有Asp.net core asp.net core 2.2 brotli压缩在IIS上不工作?,asp.net-core,compression,brotli,Asp.net Core,Compression,Brotli,我阅读了Asp.NETCore2.2文档 我有app.UseResponseCompression()和服务。AddResponseCompression()在我的Startup.cs中,但当我在我的系统上用最新的Chrome浏览器试用它时,我在响应头上只看到gzip压缩。我在Windows Server 2012 IIS web服务器上托管我的Asp.Net Core 2.2应用程序 我应该配置什么才能使brotli压缩正常工作 如果您在IIS中托管,则表示IIS是与浏览器通信的Web服务器。
app.UseResponseCompression()
和服务。AddResponseCompression()
在我的Startup.cs
中,但当我在我的系统上用最新的Chrome浏览器试用它时,我在响应头上只看到gzip压缩。我在Windows Server 2012 IIS web服务器上托管我的Asp.Net Core 2.2应用程序
我应该配置什么才能使brotli压缩正常工作
如果您在IIS中托管,则表示IIS是与浏览器通信的Web服务器。它位于ASP.NET核心应用程序前面,代理所有请求和响应,但默认情况下不支持Brotli 您需要使用IIS配置响应压缩。有一个扩展可用于添加Brotli和Zlib支持:
您也可以在不使用IIS的情况下运行ASP.NET核心应用程序。您提到您的应用程序托管在IIS中,并且在您附加的链接中注明 无法使用IIS时,请使用响应压缩中间件 动态压缩模块 因此,如果您使用IIS,您可以删除该中间件并使用现成的IIS压缩模块 您需要采取的步骤包括:
brotli
存在于gzip
applicationHost.conf
中的gzip
选项,因为98%的浏览器支持brotli
压缩,并且在旧版本的IIS中,由于请求头中的顺序(例如gzip deflate br
)选择了gzip
而不是brotli
哦,我找到了准确的网址:谢谢!我会注意到这种方法是可能的,尽管不推荐。这只是选择是否要依赖于在应用程序中运行的压缩中间件,而不是作为服务器模块运行的压缩(此建议)。话虽如此,OP链接到的文档建议使用服务器模块方法来提高性能。服务器模块方法的第二个好处是,它倾向于为静态内容缓存压缩响应提供开箱即用的支持。经过测试,我将注意到服务器模块方法的第三个好处是它是万能的。