Вы можете установить выходной кеш для кэширования содержимого относительно принимать заголовки , а не заголовки ответа . С это пошаговое руководство по кэшированию IIS 7.0 :
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<directoryBrowse enabled="true" />
<caching>
<profiles>
<add extension=".jpg" policy="CacheForTimePeriod"
duration="00:00:10" varyByHeaders="Accept-Language" />
</profiles>
</caching>
</system.webServer>
</configuration>
При использовании этой конфигурации кэш вывода будет кешировать разные значения для каждого языка, который запрашивает пользовательский агент. Вы можете добавить «Accept-Encoding» в varByHeaders для кэширования сжатых и незаархивированных версий одного и того же ресурса.
Что касается заголовков с истечением срока действия, насколько я могу судить, кэш вывода не обращает на них внимания. Вы должны установить срок действия кэша вывода и заголовок HTTP срока действия отдельно - в конце концов, нет никакой гарантии, что вы захотите использовать одну и ту же политику для обоих.