Назад | Перейти на главную страницу

Включение сжатия gzip в IIS и его вступление в силу

Мы включили сжатие Gzip на сервере в IIS (IIS6). Мы запустили iisreset. Он просто не хочет действовать. У нас это было раньше на другом сервере, и через некоторое время оно только начало работать.

Должен сразу "забрать"? Если нет, сколько времени это займет? Что мы можем сделать, чтобы ускорить это?

Кроме того, по умолчанию 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) и сжимает каждую страницу на лету.

Проходить через каждый шаг в этом пошаговом руководстве по сжатию IIS6 gzip: http://engineering.leads360.com/post/9301650692/http-compression-gzip-on-iis-6

... и это должно сработать для вас.