Я пытаюсь включить динамическое сжатие для MIME-типа application/json
.
В applicationHost.config я сделал следующее изменение:
<section name="httpCompression" allowDefinition="AppHostOnly" overrideModeDefault="Allow" />
Я также попытался разблокировать раздел с помощью следующей команды:
appcmd unlock config /section:system.webserver/httpcompression
Мои настройки web.config (такие же, как applicationHost.config, но с дополнительным mimetype):
<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
<scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" />
<staticTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="message/*" enabled="true" />
<add mimeType="application/x-javascript" enabled="true" />
<add mimeType="application/atom+xml" enabled="true" />
<add mimeType="application/xaml+xml" enabled="true" />
<add mimeType="*/*" enabled="false" />
</staticTypes>
<dynamicTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="message/*" enabled="true" />
<add mimeType="application/x-javascript" enabled="true" />
<add mimeType="application/json" enabled="true" />
<add mimeType="*/*" enabled="false" />
</dynamicTypes>
</httpCompression>
Но ответ не распространяется. Я знаю, что настройки правильные, так как он работает, если я добавляю mimetype напрямую в applicationHost.config.
Я включил отслеживание Failed Request, и никаких ошибок не выдается.
system.webServer
<urlCompression doStaticCompression="true" doDynamicCompression="true" />
doDynamicCompression
изменено наtrue
.Ответы:
Попробуйте также добавить тип MIME:
источник
У меня та же проблема, т.е. попытка получить IIS (IIS 10 в моем случае) для gzip,
application/json
но обнаружил обходной путь.Я попытался отредактировать ApplicationHost.config, а также web.config, но безуспешно. IIS просто игнорирует любые настройки сжатия для данных .json. Он с радостью распакует любой другой миметип, который вы скажете сжать. Поэтому я изменил mimetype на
text/json
web.config и теперь у меня есть gzip-ответы:Конечно, это может сломать другие вещи - потому что теперь ваш ответ имеет
Content-Type:text/json
источник
HttpCompression из web.config возможен, только если вы используете IIS 10. В IIS 7.5 вам придется использовать его в appHost.config.
Я также боролся с этим, пока не нашел эту информацию в этом посте .
источник