2014-01-30 6 views
3

В чем разница междуIIS кэширование кэширование и HTTP

<caching enabled="true" enableKernelCache="true"> 
    <profiles> 
    <add extension="*" location="Any" policy="CacheForTimePeriod" duration="00:30:00" varyByQueryString="*" varyByHeaders="Accept-Language" kernelCachePolicy="CacheUntilChange" /> 
    </profiles> 
</caching> 

и

<httpProtocol> 
    <customHeaders> 
    <add name="Cache-Control" value="private, max-age=1800, must-revalidate" /> 
    <add name="Pragma" value="private, max-age=1800, must-revalidate" /> 
    <add name="Expires" value="1800" /> 
    </customHeaders> 
</httpProtocol> 

Если я хорошо понимаю, первый для IIS (кэш-файла на сервере, чтобы ответить быстро), а второй один для прокси/клиента (спросите новую версию каждые 30 минут)?

Что вы думаете о моих политиках кэша? Я хочу улучшить производительность, но поскольку у меня есть важная свежая информация каждые 30 минут, я установил 30 минут каждый кеш ...

ответ

1

Заголовок Pragma является специфичным для реализации и вторичным для заголовка Cache-Control (см. http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.32). Лучше не использовать его.

Установка кэша в «частный» предотвращает кеширование на прокси-серверах, возможно, вы захотите установить его «общедоступным» для более быстрого ответа клиента - это изменение особенно рекомендуется, если ваш контент передается через HTTP, а не HTTPS («общедоступный» «игнорируется в этом случае, если только SSL не треснут внутри, например, корпоративной пожарной стены).

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