Как я могу включить IIS7 для распаковки статических файлов, таких как js и css, и как я могу проверить, действительно ли IIS7 распаковывает их перед отправкой клиенту?
источник
Как я могу включить IIS7 для распаковки статических файлов, таких как js и css, и как я могу проверить, действительно ли IIS7 распаковывает их перед отправкой клиенту?
Вы можете включить сжатие GZIP полностью в вашем Web.config
файле. Это особенно полезно, если вы пользуетесь виртуальным хостингом и не можете настроить IIS напрямую, или если вы хотите, чтобы ваша конфигурация передавалась между всеми целевыми средами.
<system.webServer>
<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
<scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll"/>
<dynamicTypes>
<add mimeType="text/*" enabled="true"/>
<add mimeType="message/*" enabled="true"/>
<add mimeType="application/javascript" enabled="true"/>
<add mimeType="*/*" enabled="false"/>
</dynamicTypes>
<staticTypes>
<add mimeType="text/*" enabled="true"/>
<add mimeType="message/*" enabled="true"/>
<add mimeType="application/javascript" enabled="true"/>
<add mimeType="*/*" enabled="false"/>
</staticTypes>
</httpCompression>
<urlCompression doStaticCompression="true" doDynamicCompression="true"/>
</system.webServer>
Чтобы проверить, работает ли сжатие, используйте инструменты разработчика в Chrome или Firebug для Firefox и убедитесь, что заголовок ответа HTTP установлен:
Content-Encoding: gzip
Обратите внимание, что этот заголовок не будет присутствовать, если код ответа 304 (не изменен). Если это так, выполните полное обновление (удерживайте нажатой клавишу Shift или элемент управления, пока вы нажимаете кнопку обновления) и проверьте еще раз.
.js
не так. Также попробовал добавитьapplication/x-javascript
. Используя вместе с tomcat, отсюда убралdirectory
параметр.Вам нужно будет включить эту функцию на панели управления Windows Features:
источник
Глобальный Gzip в HttpModule
Если у вас нет доступа к окончательному экземпляру IIS (общий хостинг ...), вы можете создать HttpModule, который добавляет этот код в каждое событие HttpApplication.Begin_Request:
тестирование
Слава, никакое решение не обходится без тестирования. Мне нравится использовать плагин Firefox « Liveheaders », он показывает всю информацию о каждом http-сообщении между браузером и сервером, включая сжатие, размер файла (который можно сравнить с размером файла на сервере).
источник
под windows 2012 r2 его можно найти здесь:
источник
Мне только нужно было добавить функцию в функции Windows, как упоминал Чарли. Для людей, которые не могут найти ее в Windows 10 или сервере 2012+, найдите ее, как показано ниже. Я немного боролся
Windows 10
Windows Server 2012 R2
оконный сервер 2016
источник
Если вы используете YSlow с Firebug и анализируете производительность своей страницы, YSlow наверняка сообщит вам, какие артефакты на вашей странице не являются gzip'd!
источник
Если вы также пытаетесь сжать динамические страницы (например, aspx) и он не работает, вероятно, это потому, что эта опция не включена (вам нужно установить модуль динамического сжатия содержимого с помощью функций Windows):
http://support.esri.com/en/knowledgebase/techarticles/detail/38616
источник
Еще один простой способ тестирования без установки чего-либо, также он не зависит от версии IIS. Вставьте свой URL по этой ссылке - SEO Checkup
Чтобы добавить в web.config: http://www.iis.net/configreference/system.webserver/httpcompression
источник
Попробуйте Firefox с установленными аддонами Firebug. Я использую это; отличный инструмент для веб-разработчика.
Я также включил сжатие Gzip в своем IIS7, используя web.config.
источник
Для всех бедных парней, которым приходится бороться с немецким / немецким сервером :)
источник