Включение сжатия GZIP в IIS и его вступление в силу
Мы включили сжатие Gzip на сервере в IIS (IIS6). Мы запустили iisreset. Это просто не хочет вступать в силу. У нас было это раньше на другом сервере, и через некоторое время он просто начал работать.
Это должно "забрать" сразу? Если нет, то сколько времени это займет? Есть ли что-нибудь, что мы можем сделать, чтобы ускорить это?
5 ответов
Вы уверены, что результат не кэшируется? Вы можете проверить сервер удаленно здесь
Кроме того, по умолчанию IIS 6.0 настроен только на сжатие файлов следующих типов: htm, html, txt, asp, dll, exe.
Поэтому, если вы просматриваете какой-либо другой тип файла (например, php или aspx), он не будет сжат.
Вы можете настроить дополнительные типы файлов для сжатия, используя следующие команды:
для статических типов файлов...
cscript c:\Inetpub\AdminScripts\adsutil.vbs SET W3SVC/Filters/Compression/deflate/HcFileExtensions htm html txt css js
cscript c:\Inetpub\AdminScripts\adsutil.vbs SET W3SVC/Filters/Compression/gzip/HcFileExtensions htm html txt css js
для динамических типов файлов...
cscript c:\Inetpub\AdminScripts\adsutil.vbs SET W3SVC/Filters/Compression/deflate/HcScriptFileExtensions asp dll exe aspx asmx php
cscript c:\Inetpub\AdminScripts\adsutil.vbs SET W3SVC/Filters/Compression/gzip/HcScriptFileExtensions asp dll exe aspx asmx php
Вот список всего, что необходимо для включения сжатия IIS 6: http://weblogs.asp.net/owscott/archive/2004/01/12/IIS-Compression-in-IIS6.0.aspx. Дважды проверьте это, чтобы убедиться, что вы все установили.
Если вы правильно настроили и выполнили iisreset и ничего не кэшировалось, это сразу же вступит в силу.
Дополнительное примечание: для статических файлов IIS не выполняет сжатие по первому запросу. Он обрабатывает первый запрос, скажем, "myfile.html" без сжатия, а затем сжимает статический файл в фоновом режиме и помещает его в кэш сжатых файлов. Все последующие запросы для "myfile.html" будут возвращать сжатую версию.
По моему мнению, это несколько ненужная оптимизация, но я думаю, что идея состоит в том, чтобы не заставлять первого запросчика ожидать сжатия, поскольку IIS по умолчанию использует очень агрессивные и интенсивно загружающие ЦП настройки статического содержимого (аналогично gzip -9). Все последующие запросы к файлу используют сильно сжатую версию из кэша.
Противоположное справедливо для динамических страниц в IIS... по умолчанию он использует очень низкую настройку сжатия (аналогично gzip -1) и сжимает каждую страницу на лету.
Выполните каждый шаг в этом пошаговом руководстве по сжатию gzip в IIS6: http://engineering.leads360.com/post/9301650692/http-compression-gzip-on-iis-6
... и это должно сработать для вас.