Я пытаюсь включить сжатие ответа, используя очень простое приложение Asp. Net Core 3.1. Мой текущий код:
public void ConfigureServices(IServiceCollection services)
{
services.Configure<BrotliCompressionProviderOptions>(options => options.Level = CompressionLevel.Optimal);
services.AddResponseCompression(options =>
{
options.Providers.Add<BrotliCompressionProvider>();
});
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseResponseCompression();
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapGet("/", async context =>
{
var text = File.ReadAllText(@"D:\huge-response.txt");
await context.Response.WriteAsync(text);
});
});
}
В файле huge-response.txt у меня есть следующее:
qwer qwert qwert qwert qwert
qwer qwert qwert qwert qwert
qwer qwert qwert qwert qwert
qwer qwert qwert qwert qwert
qwer qwert qwert qwert qwert
qwer qwert qwert qwert qwert
....
повторяется много раз. Размер файла 626 КБ.
Теперь посмотрим, что говорит Chrome:
Odd. So let's see in Fiddler. The first request is "normal", the second one is with the header Accept-Encoding: br
введите описание изображения здесь
Я также пробовал сжатие Gzip, практически с тем же результатом.
Это в значительной степени противоположное тому, что я ожидал. Такой текстовый файл должен быть невероятно сжимаемым даже в самой «быстрой» конфигурации. Я ожидаю, что по сети будет передано менее 1 КБ.
Что я делаю не так? Заранее спасибо.