Включить IIS7 gzip

Как я могу включить IIS7 в gzip статические файлы, такие как js и css, и как я могу проверить, действительно ли IIS7 gziping их перед отправкой клиенту?

конфигурация

Вы можете полностью включить сжатие GZIP в файле Web.config . Это особенно полезно, если вы используете общий хостинг и не можете настроить IIS напрямую или хотите, чтобы ваш конфигуратор нести все объекты, на которые вы нацелились.

                   

тестирование

Чтобы проверить, работает ли сжатие, используйте инструменты разработчика в Chrome или Firebug для Firefox и убедитесь, что настроен заголовок ответа HTTP:

 Content-Encoding: gzip 

Обратите внимание, что этот заголовок не будет присутствовать, если код ответа 304 (Not Modified). Если это так, сделайте полное обновление (удерживайте shift или control при нажатии кнопки обновления) и проверьте еще раз.

Вам нужно включить эту функцию на панели управления Windows:

Снимок экрана IIS

Глобальный Gzip в HttpModule

Если у вас нет доступа к окончательному экземпляру IIS (общий хостинг …), вы можете создать HttpModule, который добавляет этот код к каждому событию HttpApplication.Begin_Request:

 HttpContext context = HttpContext.Current; context.Response.Filter = new GZipStream(context.Response.Filter, CompressionMode.Compress); HttpContext.Current.Response.AppendHeader("Content-encoding", "gzip"); HttpContext.Current.Response.Cache.VaryByHeaders["Accept-encoding"] = true; 

тестирование

Kudos, решение не выполняется без тестирования. Мне нравится использовать плагин Firefox « Liveheaders », он показывает всю информацию о каждом HTTP-сообщении между браузером и сервером, включая сжатие, размер файла (который можно сравнить с размером файла на сервере).

под windowsми 2012 r2 можно найти здесь:

введите описание изображения здесь

Если вы используете YSlow с Firebug и анализируете производительность своей страницы, YSlow, безусловно, скажет вам, какие артефакты на вашей странице не являются gzip’d!

Если вы также пытаетесь gzip динамические страницы (например, aspx), и это не работает, возможно, потому, что опция не включена (вам необходимо установить модуль динамического сжатия содержимого с помощью функций Windows):

http://support.esri.com/en/knowledgebase/techarticles/detail/38616

Мне нужно было добавить эту функцию в функции Windows, как упоминал Чарли. Для людей, которые не могут найти их в окне 10 или на сервере 2012+, найдите его, как показано ниже. Я немного боролся

Windows 10

введите описание изображения здесь

сервер Windows 2012 R2

введите описание изображения здесь

оконный сервер 2016

введите описание изображения здесь

Еще один простой способ протестировать, не устанавливая ничего, и не зависит от версии IIS. Вставьте свой url на эту ссылку – SEO Checkup

test gzip

Чтобы добавить в web.config: http://www.iis.net/configreference/system.webserver/httpcompression

Попробуйте Firefox с дополнениями Firebug. Я использую его; отличный инструмент для веб-разработчиков.

Я также включил сжатие Gzip в моем IIS7 с помощью web.config.

  • Asp.NET Web API - 405 - HTTP-глагол, используемый для доступа к этой странице, недопустим - как установить сопоставления обработчиков
  • Предотвращает ли двойное экранирование опасность?
  • Что именно происходит, когда я устанавливаю LoadUserProfile пула IIS?
  • Использование пользовательских доменов с помощью IIS Express
  • Запрошенная страница не может быть доступна, поскольку связанные данные конфигурации для страницы являются недопустимой ошибкой
  • Может ли провайдер setAcl Web Deploy использоваться в подкаталоге?
  • Отображать страницу пользовательских ошибок, когда загрузка файла превышает разрешенный размер в ASP.NET MVC
  • Микширование форм с помощью проверки подлинности Windows
  • Ошибка HTTP 500.19 - Внутренняя ошибка сервера
  • Глобальный ASAX - получить имя сервера
  • Signalr / Hub не загружается в IIS 7, но корректно работает в Visual Studio
  • Давайте будем гением компьютера.