ResponseCompression в приложении .netcore, на котором выполняется TargetFramework net472 - PullRequest
0 голосов
/ 03 ноября 2018

Я пытался заставить Microsoft.AspNetCore.ResponseCompression 2.1.1 работать над приложением основного проекта .net, которое предназначено для полной платформы .net 472, но безрезультатно.

Я разобрал проект до его ядра, оставив только:

        public void ConfigureServices(IServiceCollection services)
        { 
            services.AddResponseCompression(options =>
            {
                options.EnableForHttps = true;

            });
        } 


        public void Configure(IApplicationBuilder app)
        { 
            app.UseResponseCompression();   

            app.UseStaticFiles(); 
        }

Я пытаюсь связать промежуточное ПО статическим файлом.

Заголовки запроса:

GET http://localhost:3721/css/Site.css HTTP/1.1
Host: localhost:3721
Connection: keep-alive
Accept: text/css
Accept-Encoding: gzip, deflate, br, *

Заголовки ответа:

HTTP/1.1 200 OK
Date: Sat, 03 Nov 2018 01:20:21 GMT
Content-Type: text/css
Server: Kestrel
Last-Modified: Thu, 13 Jul 2017 16:35:14 GMT
Accept-Ranges: bytes
ETag: "1d2fbf600bbcfda"
Vary: Accept-Encoding
Content-Length: 730

Есть ли что-то явно неправильное в моей реализации, из-за которого заголовки статических файловых ответов не отображаются :

content-encoding: gzip (or other)

Можно ли подключиться к методу, который решает, сжимать запрос или нет?

1 Ответ

0 голосов
/ 05 ноября 2018

Для ваших заголовков ответов он уже сжат и указывает cache (vary) responses с Vary: Accept-Encoding.

Варьируется

При отправке сервером со значением Accept-Encoding клиентам и прокси, заголовок Vary указывает клиенту или прокси, что он следует кэшировать (варьировать) ответы в зависимости от значения Accept-Encoding заголовок запроса. Результат возврата контента с заголовком Vary: Accept-Encoding является то, что оба сжатых и несжатые ответы кэшируются отдельно.

Вы можете попробовать разные способы ниже, чтобы увидеть разные результаты:

  • Chrome: нажмите Ctrl + F5, чтобы проверить заголовки ответа.
  • Попробуйте PostMan
  • Попробуйте Fiddler
...