Дополнение ответа Элмера, так как мое редактирование было отменено.
Для кэширования статического содержимого в течение 365 дней с открытым заголовком управления кэшированием , IIS можно настроить с помощью следующего
<staticContent>
<clientCache cacheControlCustom="public" cacheControlMode="UseMaxAge" cacheControlMaxAge="365.00:00:00" />
</staticContent>
Это переведет в заголовок, подобный этому:
Cache-Control: public,max-age=31536000
Обратите внимание, что max-age - это дельта в секундах, выражаемая 32-битным положительным целым числом, как указано в RFC 2616, разделы 14.9.3 и 14.9.4 . Это максимальное значение 2 ^ 31 или 2 147 483 648 секунд (более 68 лет). Однако для обеспечения лучшей совместимости между клиентами и серверами мы рекомендуем использовать максимум 365 дней (один год).
Как уже упоминалось в других ответах, вы можете использовать эти директивы также в web.config вашего сайта для всего статического контента. В качестве альтернативы вы можете использовать его только для содержимого в определенном месте (в примере 30-дневный публичный кэш для содержимого в папке "cdn"):
<location path="cdn">
<system.webServer>
<staticContent>
<clientCache cacheControlCustom="public" cacheControlMode="UseMaxAge" cacheControlMaxAge="30.00:00:00"/>
</staticContent>
</system.webServer>
</location>