Политика кэша

Политика кэша определяет правила, согласно которым определяется возможность выполнения запроса с помощью кэшированной копии запрашиваемого ресурса. В приложениях указываются требования к кэшу клиента в плане актуальности, однако фактическая политика кэша определяется требованиями к кэшу клиента, требованиями сервера к сроку действия и требованиями сервера к повторной проверке. Чтобы обеспечить возврат клиентскому приложению самого актуального содержимого, в результате взаимодействия политики кэша клиента и требований сервера всегда применяется наиболее консервативная политика кэша.

Политики кэша могут быть основаны на расположении или времени. Политика кэша на основе расположения определяет актуальность записей в кэше на основе расположения, из которого может быть получен запрашиваемый ресурс. Политика кэша на основе времени определяет актуальность записей в кэше на основе времени извлечения ресурса, заголовков, возвращаемых вместе с ним, и текущего времени. Большинство приложений могут использовать политику кэширования по умолчанию на основе времени, которая реализует спецификацию RFC 2616, доступную на веб-сайте Internet Engineering Task Force (IETF).

В приведенной ниже таблице описываются классы, используемые для настройки политик кэширования.

Имя класса Description
HttpRequestCachePolicy Представляет политики кэша на основе расположения и на основе времени для ресурсов, запрашиваемых с помощью объектов HttpWebRequest.
RequestCachePolicy Представляет политики кэша на основе расположения или политики кэша на основе времени Default для ресурсов, запрашиваемых с помощью объектов WebRequest.
HttpCacheAgeControl Задает значения, используемые для создания объектов HttpRequestCachePolicy на основе времени.
HttpRequestCacheLevel Задает значения, используемые для создания объектов HttpRequestCachePolicy на основе расположения и на основе времени.
RequestCacheLevel Задает значения, используемые для создания объектов RequestCachePolicy на основе расположения или на основе времени Default.

Определить политику кэша можно для всех запросов, совершаемых приложением, или для отдельных запросов. Если определены политики кэша как на уровне приложения, так и на уровне запросов, применяется политика на уровне запросов. Политику кэша на уровне приложения можно настроить программными средствами либо с помощью файлов конфигурации приложения или компьютера. Дополнительные сведения см. в разделе <requestCaching> Element (Network Параметры).

Чтобы создать политику кэша, необходимо создать объект политики как экземпляр класса RequestCachePolicy или HttpRequestCachePolicy. Чтобы задать политику для запроса, присвойте объект политики свойству CachePolicy запроса. Если вы настраиваете политику на уровне приложения программными средствами, присвойте объект политики свойству DefaultCachePolicy.

Примеры кода, демонстрирующие создание и использование политик кэша, см. в разделе Настройка кэширования в сетевых приложениях.

См. также