Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Cloud CDN
  • Начало работы
    • Обзор сервиса
    • Ресурс
    • Источники и их группы
    • Перенаправление запросов
    • Кеширование контента
    • Защищенные токены
    • Политика доступа по IP-адресам
    • Выгрузка логов
    • Метки
    • Квоты и лимиты
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • История изменений
  • Решение проблем

В этой статье:

  • Кеширование на CDN-серверах
  • Время жизни кеша
  • Кеширование в браузерах
  • Файлы cookie и query-параметры
  • Предзагрузка контента
  • Очистка кеша
  • Примеры использования
  1. Концепции
  2. Кеширование контента

Кеширование контента

Статья создана
Yandex Cloud
Улучшена
Dmitry A.
Обновлена 11 марта 2025 г.
  • Кеширование на CDN-серверах
    • Время жизни кеша
  • Кеширование в браузерах
  • Файлы cookie и query-параметры
  • Предзагрузка контента
  • Очистка кеша
  • Примеры использования

В настройках CDN-ресурса можно включить кеширование контента — временное хранение копий файлов из источников. Кеширование бывает двух типов: на CDN-серверах и в браузерах-клиентах.

Кеширование на CDN-серверахКеширование на CDN-серверах

Если для ресурса включено кеширование на CDN-серверах, файлы копируются с источников на серверы при следующих событиях:

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

Время жизни кешаВремя жизни кеша

Пока время жизни кеша не истекло, CDN-сервер возвращает клиентам кешированную копию файла и не обращается за ним к источникам.

Примечание

Если контент не запрашивался конечными пользователями в течение 36 часов, он удаляется из кеша CDN-серверов независимо от настроек опции.

Для определения времени жизни кеша можно выбрать один из двух режимов:

Режим Описание
Как у источника Файл кешируется на время, указанное в ответе источника на запрос. Источник должен добавлять к ответу HTTP-заголовок Cache-Control с директивами max-age (указывает на время жизни кеша в секундах) и public (разрешает кеширование файла на любом уровне).
Если источник ответил HTTP-кодом состояния 200, 201, 204, 206, 301, 302, 303, 304, 307 или 308, но в ответе нет заголовка, удовлетворяющего условиям выше, файл кешируется на время, указанное в настройках ресурса. Файлы из ответов с другими кодами состояния при отсутствии заголовка не кешируются.
Свои настройки В настройках ресурса указывается время жизни кеша по умолчанию. Оно действует для всех ответов источников с HTTP-кодами состояния 200, 206, 301 и 302. Также для любого кода состояния (вне зависимости от того, входит ли он в список выше) можно указать отдельное время жизни кеша, которое имеет приоритет над временем по умолчанию.
Если код состояния не входит в список и для него не указано отдельное время жизни кеша, файл из ответа с таким кодом не кешируется.

Кеширование в браузерахКеширование в браузерах

Если для ресурса включено кеширование в браузерах, CDN-серверы будут добавлять в ответы с HTTP-кодами состояния 200, 201, 204, 206, 301, 302, 303, 304, 307 и 308 заголовок Cache-Control с директивами max-age (указывает на время жизни кеша в секундах) и public (разрешает кеширование файла на любом уровне). Время жизни кеша указывается в настройках ресурса.

Файлы из ответов с другими кодами состояния не кешируются.

Файлы cookie и query-параметрыФайлы cookie и query-параметры

Запросы к CDN-серверу могут содержать один и тот же путь в URI, но разные файлы cookie (HTTP-заголовок Set-Cookie) и/или разные query-параметры. В настройках ресурса вы можете указать, как кешировать файлы, соответствующие таким запросам: сохранять для всех запросов одну копию файла (то есть игнорировать cookie и/или query-параметры) или считать их разными и для каждого кешировать файл отдельно.

Предзагрузка контентаПредзагрузка контента

Отдельные файлы можно предзагрузить из источников, то есть кешировать вручную, не дожидаясь запросов от клиентов. Рекомендуется предзагружать большие файлы, размером от 200 МБ.

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

Для предзагрузки существуют технические ограничения — лимиты.

Очистка кешаОчистка кеша

Копии файлов, сделанные CDN-серверами, можно удалить — очистить кеш. Это позволяет быстро обновить в CDN контент, который изменился в источниках.

Кеш можно очистить полностью или частично. Рекомендуется частичная очистка: если удалить из кеша копии всех файлов, CDN-серверы сильно увеличат нагрузку на источники, обращаясь к ним за каждым запрошенным файлом.

Для частичной очистки можно указывать пути к конкретным файлам и каталогам или использовать символ *, заменяющий любое количество символов. Каждый путь должен начинаться с символа / или *. Примеры путей:

  • /image/foo.png — отдельный файл;
  • /image/*.jpg — все файлы в каталоге /image с расширением .jpg;
  • *.jpg — все файлы с расширением .jpg;
  • */static/* — все файлы, имеющие в пути подстроку /static/.

Если файл закеширован с учетом query-параметров (то есть для каждого запроса с новыми параметрами сохранилась отдельная копия), по умолчанию удаляются все его копии. Чтобы удалить только конкретные копии, нужно явно указать их query-параметры: например, /image/foo.png?id=12345.

Для очистки кеша существуют технические ограничения — лимиты.

Примеры использованияПримеры использования

  • Организация сине-зеленого и канареечного развертывания версий веб-сервиса
  • Публикация обновлений для игр с помощью Yandex Cloud CDN

См. такжеСм. также

  • Инструкция по настройке кеширования.
  • Инструкция по предзагрузке контента.
  • Инструкция по очистке кеша.

Была ли статья полезна?

Предыдущая
Перенаправление запросов
Следующая
Защищенные токены
Проект Яндекса
© 2025 ООО «Яндекс.Облако»