Предварительное сжатие статических файлов в IIS 6

#iis-6 #compression #gzip #http-compression

#iis-6 #сжатие #gzip #http-сжатие

Вопрос:

Я внедряю сжатие Gzip для файлов CSS и JS на своем сайте, и мне просто нужно кое-что перепроверить.

Файл сжимается при каждом запросе? или он собирается и отправляется из временной папки (если файл существует)? Я просто хочу быть уверен, что мои файлы не сжимаются при каждом запросе.

Кроме того, это поведение по умолчанию или мне нужна дополнительная настройка?

И последнее, нужно ли мне беспокоиться или что-то настраивать при использовании хэш-тегов в path (для информирования браузера об изменении файла) и статическом сжатии файла? или это должно работать без проблем.

Редактировать: я просто использую статическое сжатие

Большое спасибо

Ответ №1:

Чтобы получить максимальную отдачу от сжатия IIS, вам нужно будет добавить несколько дополнительных битов в файл метабазы.

  1. Создайте резервную копию вашего файла meta base.
  2. Включите оперативное редактирование файла meta base в IIS (или вам нужно перезапустить IIS, когда вы закончите.)

найдите IIsCompressionScheme и внесите следующие изменения в файл meta base

 <IIsCompressionScheme   Location ="/LM/W3SVC/Filters/Compression/deflate"
        HcCompressionDll="%windir%system32inetsrvgzip.dll"
        HcCreateFlags="0"
        HcDoDynamicCompression="TRUE"
        HcDoOnDemandCompression="TRUE"
        HcDoStaticCompression="TRUE"
        HcDynamicCompressionLevel="10"
        HcFileExtensions="htm
            html
            css
            js
            txt
            xml"
        HcOnDemandCompLevel="10"
        HcPriority="1"
        HcScriptFileExtensions="asp
            dll
            aspx
            axd
            ashx
            asbx
            asmx
            swf
            asmx
            exe"
    >
</IIsCompressionScheme>
<IIsCompressionScheme   Location ="/LM/W3SVC/Filters/Compression/gzip"
        HcCompressionDll="%windir%system32inetsrvgzip.dll"
        HcCreateFlags="1"
        HcDoDynamicCompression="TRUE"
        HcDoOnDemandCompression="TRUE"
        HcDoStaticCompression="TRUE"
        HcDynamicCompressionLevel="10"
        HcFileExtensions="htm
            html
            js
            css
            txt
            xml"
        HcOnDemandCompLevel="10"
        HcPriority="1"
        HcScriptFileExtensions="asp
            dll
            aspx
            axd
            ashx
            asbx
            asmx
            swf
            asmx
            exe"
    >
</IIsCompressionScheme>
  

После завершения тестирования страницы с вашего сайта с помощью подключаемого модуля FF, такого как YSlow или Firebug, с помощью Firebug вы можете проверить каждый элемент на вкладке Net и проверить, применяется ли правильное сжатие к нужным типам файлов.

Здесь есть отличная статья с примерамиhttp://www.codinghorror.com/blog/2004/08/http-compression-and-iis-6-0.html

Ответ №2:

IIS 6 поддерживает как динамическое, так и статическое сжатие.

Ознакомьтесь с соответствующей документацией и приличной записью в блоге на эту тему.

Комментарии:

1. Спасибо, Энди, я посмотрю, меня просто интересует статическое сжатие.

Ответ №3:

«Затем вновь сжатый файл сохраняется в каталоге сжатия, и последующие запросы к этому файлу обслуживаются непосредственно из каталога сжатия. Другими словами, клиенту возвращается несжатая версия файла, если только сжатая версия файла уже не существует в каталоге сжатия.»*