无论是开发网站,还是开发Api。很多时候为了节约网络流量我们需要对请求金星压缩处理以减少消息传递过程中的资源消耗,并且多数情况有利于应用发挥更好的性能(响应压缩在服务端处理,使用服务器资源)。
在Asp.Net Core中启用Http响应压缩的方式如下:
1.首先添加和配置压缩服务
//添加GZip压缩服务
services.Configure<GzipCompressionProviderOptions>(opt =>
{
opt.Level = System.IO.Compression.CompressionLevel.Optimal;
})
//添加Br压缩服务
.Configure<BrotliCompressionProviderOptions>(opt =>
{
opt.Level = System.IO.Compression.CompressionLevel.Optimal;
})
//配置响应压缩
.AddResponseCompression(opt =>
{
opt.EnableForHttps = true;//启用支持Https
opt.Providers.Add<GzipCompressionProvider>();
opt.Providers.Add<BrotliCompressionProvider>();
opt.MimeTypes = ResponseCompressionDefaults.MimeTypes;//设置压缩响应的默认MIME类型
});
2.启用响应压缩中间件
app.UseResponseCompression();
这样就大功告成了,可以去发起请求查看一下了,使用Postman验证下。
Http请求响应头中存在 Content-Encoding: gzip 则表示压缩成功。