Управление кэшем для сетевых приложений

В этом разделе и его подразделах описывается кэширование ресурсов, полученных с помощью классов WebClient, WebRequest, HttpWebRequest и FtpWebRequest.

Кэш обеспечивает временное хранение ресурсов, которые были запрошены приложением. Если приложение запрашивает один и тот же ресурс несколько раз, он может быть возвращен из кэша. Это позволяет избежать лишнего расходования ресурсов, связанного с его повторным запросом с сервера. Кэширование может повысить производительность приложения, ускоряя получение запрашиваемых ресурсов. Оно также может помочь уменьшить объем сетевого трафика, сокращая число обращений к серверу. Хотя кэширование повышает производительность, также растет риск того, что возвращаемый приложению ресурс может оказаться устаревшим, то есть отличающимся от того ресурса, который был бы отправлен с сервера при отсутствии кэширования.

Из-за кэширования также возможен несанкционированный доступ к конфиденциальным данным со стороны пользователей или процессов. Прошедший проверку подлинности ответ может быть получен из кэша без дополнительной авторизации. Если кэширование включено, измените значение CachePolicy на BypassCache или NoCacheNoStore, чтобы отключить кэширование для запроса.

По соображениям безопасности кэширование не рекомендуется использовать в сценариях среднего уровня.

В этом разделе

Политика кэша
Описывается, что такое политика кэша и как ее определить.

Политики кэша на основе расположения
Описание каждого типа политики кэша на основе расположения для ресурсов HTTP и HTTPS.

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

Настройка кэширования в сетевых приложениях
Описываются программные способы создания политик кэша и запросов, для которых применяется кэширование.

Справочные сведения

System.Net.Cache
Определение типов и перечислений, используемых для определения политик кэширования ресурсов, получаемых с помощью классов WebRequest, HttpWebRequest и FtpWebRequest.