asp.net 根据.net5/6中的输出mime类型选择不同的压缩算法

ewm0tg9j  于 2022-11-19  发布在  .NET
关注(0)|答案(1)|浏览(86)

如果浏览器支持的话,现代的.net后端会选择Brotli。我的问题是,从我们的一个后端发出的流量中有50%是二进制数据。所以我想做的是拦截请求处理,并确保当二进制数据要发送出去时使用gzip。这可能吗?

uelo1irk

uelo1irk1#

假设您的配置如下所示:

using Microsoft.AspNetCore.ResponseCompression;

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddResponseCompression(options =>
{
    options.Providers.Add<BrotliCompressionProvider>();
    options.Providers.Add<GzipCompressionProvider>();
    options.MimeTypes = ResponseCompressionDefaults.MimeTypes.Concat(
        new[] { "application/octet-stream" });
});
var app = builder.Build();
app.UseResponseCompression();

您的 * 客户端 * 可以通过设置Accept-Encoding

Accept-Encoding: gzip

你也可以有Accept-Encoding: *,服务器可以使用默认的或自定义的提供者来提供特定的mime类型。

相关问题