我阅读了Asp.Net Core 2.2文档brotli compression is added to 2.2。
我的app.UseResponseCompression();
中有services.AddResponseCompression();
和Startup.cs
,但是当我在使用最新的Chrome浏览器的系统上进行尝试时,在响应标头中仅看到gzip压缩。我在Windows Server 2012 IIS Web服务器上托管了Asp.Net Core 2.2应用。
我应该配置什么才能获得有效的brotli压缩?
答案 0 :(得分:2)
如果您托管在IIS中,则意味着IIS是与浏览器进行通信的Web服务器。它位于您的ASP.NET Core应用程序的前面,并代理所有请求和响应,但是默认情况下它不支持Brotli。
您需要使用IIS配置响应压缩。有扩展可用于添加Brotli和Zlib支持:https://docs.microsoft.com/en-us/iis/extensions/iis-compression/iis-compression-overview
您还可以在没有IIS的情况下运行ASP.NET Core应用。
答案 1 :(得分:1)
您提到您的应用程序托管在 IIS 中,并在您附加的链接中说明
<块引用>当您无法使用 IIS 时使用响应压缩中间件 动态压缩模块
因此,如果您使用 IIS,您可以删除该中间件并使用开箱即用的 IIS 压缩模块。
您需要采取的步骤是:
set_xml(){
const self = this;
let new_XML_file = "/xml/Scores_Database.xml";
this.XML_db.setXMLDoc(new_XML_file);
this.XML_db.loadXMLfile(new_XML_file,function(xml){
console.log(xml);
self.XML_db.SearchXML("Score", 5) ;
});
}
存在于 brotli
gzip
中的 gzip
选项,因为 98% 的浏览器支持 applicationHost.conf
压缩,并且在旧版本的 IIS 中选择 brotli
而不是 {{1} } 因为 gzip
中的顺序(例如 brotli
)。