GZip сжатие статических json-файлов на IIS

Имеется приложение на php, развернутое на Win2012/IIS 8. Время от времени планировщик задач перегенерирует несколько JSON-файлов, расположенных в директории ./cache/ проекта.
Для файлов настроено кэширование сервера, а вот теперь неплохо бы добавить к кэшированию еще и сжатие.

Насколько из различных статетй понятно, то если файл сжат, то в кэше хранится сжатая копия. Но вот что-то не совсем ясно, как это сжатие настроить.
На текущий момент времени json-файлы передаются несжатыми (там же есть и Html файл, он передается сжатым) конфиг следующий:

<caching enabled="true" enableKernelCache="true">
    <profiles>
        <add extension=".json" policy="DontCache" kernelCachePolicy="CacheUntilChange" />
        <add extension=".html" policy="DontCache" kernelCachePolicy="CacheUntilChange" duration="00:01:00" />
    </profiles>
</caching>
<urlCompression doStaticCompression="true" />
<staticContent>
    <mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
   <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" />
   <dynamicTypes>
   </dynamicTypes>
   <staticTypes>
      <add mimeType="application/json" enabled="true" />
   </staticTypes>
</httpCompression>

Ответы (1 шт):

Автор решения: teran

В общем говоря, закончилось все дело выполнением команды

C:\Windows\System32\Inetsrv\Appcmd.exe set config -section:system.webServer/httpCompression /+"staticTypes.[mimeType='application/json',enabled='True']" /commit:apphost

которая добавляет компрессию json для статических файлов на уровне сервера, а не сайта. После перезапуска пула приложения вроде стал отдавать сжатые данные (26кбайт -> 4.5, 51 -> 12, 197 -> 33), что в целом весомо для мобильных клиентов с плохой связью.

→ Ссылка