2013-03-19 4 views
7

У меня есть следующие web.config:IIS 7.5 Сжатие статического содержимого (не последовательное)

<urlCompression doStaticCompression="true" /> 
     <httpCompression> 
      <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> 

план мая не позволяет динамического сжатия

Проблема заключается в том, когда я прошу CSS или JS, IIS ответьте GZIP и добавьте разницу: accept-encoding когда-то и в другое время не сжимает CSS и JS, я не могу найти шаблон, это какой-то случайный.

Я всегда пробую CTRL F5, даже когда вы обращаетесь к www.mysite.com css и js, случайно сжимаются или нет.

NB: размещен на NetworkSolution.

Что случилось с моей конфигурацией или IIS.

Благодаря

+0

Когда я пробую http://cdn.novopath.com/content/css/master.css на http://www.whatsmyip.org/http-compression-test/, первый раз говорит, что не сжатый второй раз говорит сжат! – Sameh

ответ

15

После долгих поисков, я, наконец, нашел то, что получил сжатие работает более последовательно на моем IIS 7.5. Для начала IIS не будет сжимать файл, если он не загружен достаточно часто. Это поднимает вопрос «что часто рассматривается IIS?» Ну, по умолчанию 2 раза каждые 10 секунд. Хлоп!

Этот параметр может быть изменен в web.config, но раздел необходимо разблокировать сначала в applicationHost.config. Вот команды:

Первый разблокировать раздел:

C: \ Windows \ System32 \ Inetsrv \ appcmd.exe разблокирование конфигурации /section:system.webServer/serverRuntime

разблокирована раздел «system.webServer/serverRuntime» на пути конфигурации «MACHINE/WEBROOT/APPHOST».

Теперь, когда это сделано, отредактировать файл web.config

<?xml version="1.0" encoding="UTF-8"?> <configuration> 
    <system.webServer> 
     <serverRuntime frequentHitThreshold="1" frequentHitTimePeriod="10:00:00" /> 
     ... 

В этом случае, я поставил его ударить файл один раз в 10-часовой период. Вы можете отрегулировать значения по мере необходимости. Вот документ, который объясняет элемент serverRuntime:

http://www.iis.net/configreference/system.webserver/serverruntime

Я надеюсь, что это помогает получить ваше сжатие работает должным образом.

+0

Я сделал здесь недавний ответ, который даст немного больше объяснений: http://stackoverflow.com/questions/14796225/gzip-js-in-iis-doesnt-get-compressed-if-static-compression-enabled/24906331 # 24906331 – ianbeks

+0

это применимо даже к динамическому сжатию содержимого? – TheQult

Смежные вопросы