Как добавить заголовок Content-Encoding к gzip файлам в ASP.NET?

Хочется отдавать клиенту сжатые файлы скриптов и стилей. Настроил вебпак на сборку .gz файлов, но проблема в том, что браузер в итоге не может их разобрать. Выяснил, что нужен специальный заголовок, но в моём случае нельзя просто выставить его "глобально", так как сами HTML файлы не сжимаются.

app.UseStaticFiles(new StaticFileOptions {
   OnPrepareResponse = content => {
     if(content.File.Name.EndsWith(".js.gz")) {
       content.Context.Response.Headers["Content-Type"] = "text/javascript";
       content.Context.Response.Headers["Content-Encoding"] = "gzip";
     }
     if(content.File.Name.EndsWith(".css.gz")) {
       content.Context.Response.Headers["Content-Type"] = "text/css";
       content.Context.Response.Headers["Content-Encoding"] = "gzip";
     }
   }
 });


Нашел вот такой вариант для добавления заголовков только статике, но он не работает. Все остальные варианты в интернетах, что мне удалось найти, аналогичные или вообще копируют этот. В итоге браузер получает gz файлы но не может их понять
5d4ef9da6b1ae003737182.png

Может кто сталкивался с подобным? Очень хочется оптимизировать загрузку ресурсов
  • Вопрос задан
  • 154 просмотра
Пригласить эксперта
Ответы на вопрос 1
@PavelPikat
Вы не тем занимаетесь. Не нужно никакие gz файлы делать, сервер все сделает за вас, просто включите static compression в IIS
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы