Относится ли кэш вывода к заголовкам ответов? - PullRequest
0 голосов
/ 17 декабря 2009

Я планирую использовать кэш вывода ASP.NET для повышения производительности моего собственного обработчика HTTP.

Если я установлю заголовок истечения срока действия в ответе, будет ли кэш вывода достаточно интеллектуальным, чтобы соответствующим образом кешировать ответ? Или мне нужно вручную создать соответствующий CacheDependency?

Если я отожму ответ и установлю заголовок Content-Encoding, будет ли выходной кэш достаточно интеллектуальным, чтобы предотвратить двойное сжатие ответа при включении динамического сжатия? Что произойдет, если выходной кэш имеет версию gzip и клиент, который не принимает gzip, запрашивает ресурс?

1 Ответ

0 голосов
/ 21 декабря 2009

Вы можете установить выходной кеш для кэширования содержимого относительно принимать заголовки , а не заголовки ответа . С это пошаговое руководство по кэшированию 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 срока действия отдельно - в конце концов, нет никакой гарантии, что вы захотите использовать одну и ту же политику для обоих.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...