Кеширование в CDN: TTL, правила, инвалидация

Кеширование в CDN

Кеширование — это то, ради чего CDN и существует. Без правильного кеша CDN просто пересылает запросы на ваш сервер, не ускоряя ничего. С правильным кешем — 90% трафика обрабатывается на стороне CDN, а сервер разгружен.

Но кеш — это сложно. Что кешировать, на какой срок, как обновлять, когда пользователи должны видеть свежие данные — всё это требует настройки. В этой статье — разбор кеширования в CDN: TTL, правила, инвалидация, версионирование. Если нужно настроить кеширование в CDN — поможем.

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

Кеширование — это сохранение копий контента на серверах CDN. Когда пользователь запрашивает файл, CDN проверяет, есть ли он в кеше:

  • Cache HIT: файл есть — отдаётся мгновенно с CDN;
  • Cache MISS: файла нет — CDN запрашивает у вашего сервера, отдаёт пользователю и сохраняет копию;
  • Cache EXPIRED: файл устарел — CDN запрашивает у сервера обновлённую версию.

Цель — максимизировать HIT и минимизировать MISS. Чем больше HIT, тем быстрее сайт и меньше нагрузка на сервер.

💡 Важно

Хороший сайт с правильно настроенным CDN имеет cache hit rate 80–95%. Если ниже 50% — кеш работает плохо, нужно проверить настройки.

Что кешировать

Не всё нужно кешировать. Вот что кешируется всегда.

Изображения

JPG, PNG, WebP, SVG, GIF. Меняются редко — можно кешировать надолго.

CSS и JavaScript

Стили и скрипты. Статика, меняется редко.

Шрифты

WOFF, WOFF2, TTF. Меняются редко, можно кешировать надолго.

Документы

PDF, DOC, XLS. Реже меняются, можно кешировать.

Видео

MP4, WebM, HLS-сегменты. Кешировать обязательно, трафик большой.

Статические страницы

HTML, который не меняется для разных пользователей. Можно кешировать с осторожностью.

Что не кешировать

Некоторые данные кешировать нельзя — это приведёт к багам и проблемам.

  • Авторизованные страницы: личный кабинет, админка, панель управления;
  • Персональные данные: информация конкретного пользователя;
  • Корзина и checkout: данные зависят от пользователя;
  • Формы и POST-запросы: отправка данных не кешируется;
  • Динамический контент: чат, уведомления, свежие данные;
  • Cookies и заголовки авторизации: индивидуальные для каждого.

Если случайно закешировать авторизованную страницу — один пользователь увидит данные другого. Это критичная ошибка безопасности.

⚠️ Важно

Никогда не кешируйте страницы с параметром Authorization или cookies сессии. Это может привести к утечке персональных данных между пользователями.

TTL

TTL (Time To Live) — это срок жизни кеша. Сколько времени CDN хранит копию, прежде чем запросить свежую версию.

Как выбрать TTL

  • Долгий TTL (1 год): для неизменяемых файлов — изображения, шрифты, версионированные CSS/JS;
  • Средний TTL (1 день — 1 неделя): для файлов, которые меняются редко;
  • Короткий TTL (5–60 минут): для динамического контента, HTML;
  • Очень короткий TTL (0–60 секунд): для данных, которые должны быть свежими.

Рекомендуемые значения

Тип контентаРекомендуемый TTL
Изображения, шрифты1 год
CSS, JS (версионированные)1 год
CSS, JS (без версии)1 неделя
HTML (публичный)1 час
API-ответы1–15 минут
JSON, XML (фиды)15 минут
Динамический контент0 (не кешировать)

Слишком короткий TTL — нет эффекта от кеша. Слишком длинный — пользователи видят устаревший контент.

Cache-Control заголовки

CDN ориентируется на заголовки, которые отдаёт ваш сервер. Основные:

Cache-Control

  • public: контент можно кешировать;
  • private: только в браузере, не в CDN;
  • no-cache: кешировать, но проверять актуальность;
  • no-store: не кешировать вообще;
  • max-age=3600: кешировать 1 час;
  • s-maxage=86400: для CDN — 1 день;
  • stale-while-revalidate=60: отдавать старую версию, пока обновляется;
  • immutable: файл не меняется, кешировать максимально долго.

Примеры

  • Изображения: Cache-Control: public, max-age=31536000, immutable;
  • CSS/JS с версией: Cache-Control: public, max-age=31536000, immutable;
  • HTML: Cache-Control: public, max-age=3600;
  • API: Cache-Control: public, max-age=60, stale-while-revalidate=30;
  • Авторизованная страница: Cache-Control: private, no-cache.

ETag и Last-Modified

Эти заголовки позволяют CDN проверить, изменился ли файл, и использовать кеш, если нет. Экономит трафик и ускоряет работу.

Правила кеша

Правила кеша в CDN позволяют настроить разное поведение для разных типов контента.

Пример правил

ПаттернДействиеTTL
*.jpg, *.png, *.webpКешировать1 год
*.css, *.jsКешировать1 год (с версией)
*.woff2, *.woffКешировать1 год
/api/public/*Кешировать5 минут
/api/*Не кешировать0
/admin/*Не кешировать0
/cart/*, /checkout/*Не кешировать0
*.htmlКешировать1 час

Правила задаются в панели CDN или через API. Они позволяют гибко управлять кешем для разных частей сайта.

Инвалидация кеша

Иногда нужно срочно обновить контент в кеше — например, при смене логотипа или исправлении ошибки. Это называется инвалидация или purge.

Способы инвалидации

  • По URL: очистить кеш для конкретного файла. Самый точный способ;
  • По тегу: если файлы помечены тегами, можно очистить всю группу;
  • По всему кешу: полная очистка. Используется редко, дорого;
  • Wildcard: очистить все URL, подходящие под шаблон;
  • Через API: автоматизация инвалидации при обновлениях.

Когда нужна инвалидация

  • Обновление контента: вы заменили изображение или файл;
  • Исправление ошибки: нашли проблему, нужно срочно обновить;
  • Публикация новости: статья должна появиться сразу;
  • Смена конфигурации: изменили настройки, нужно сбросить кеш.

Автоматизация

Хорошая практика — автоматизировать инвалидацию при деплое. Например, при обновлении сайта автоматически вызывать API CDN для очистки кеша конкретных URL.

Версионирование

Версионирование — это добавление версии к имени файла. Например, style.css?v=1.2.3 или style.1.2.3.css.

Зачем нужно

  • Обход кеша: при изменении файла меняется URL — CDN загружает новую версию;
  • Долгий TTL: можно кешировать файлы на год, но при обновлении менять версию;
  • Без инвалидации: не нужно вызывать purge при каждом обновлении;
  • Простота: всё автоматизируется в сборке (Webpack, Vite).

Как работает

  • При сборке: хеш файла добавляется в имя — style.a1b2c3.css;
  • При обновлении: хеш меняется — style.d4e5f6.css;
  • CDN: видит новый URL, загружает новую версию;
  • Пользователь: получает свежий файл без проблем.

Стратегии

  • Query string: style.css?v=1.2.3 — просто, но некоторые CDN кешируют без учёта query;
  • Путь: /static/v1.2.3/style.css — работает везде;
  • Хеш в имени: style.a1b2c3.css — идеально, автоматизируется.

Stale-While-Revalidate

Stale-While-Revalidate — это техника, при которой CDN отдаёт старую версию файла, пока в фоне обновляет свежую. Пользователь не ждёт.

Как работает

  • TTL истёк: файл устарел;
  • Первый запрос: CDN отдаёт старую версию мгновенно;
  • В фоне: CDN запрашивает свежую версию у сервера;
  • Следующий запрос: свежая версия уже в кеше.

Преимущества

  • Скорость: пользователь всегда получает контент мгновенно;
  • Актуальность: в фоне кеш обновляется;
  • Разгрузка: сервер получает меньше запросов.

Настройка

Заголовок: Cache-Control: max-age=60, stale-while-revalidate=300

  • max-age=60: кеш живёт 60 секунд;
  • stale-while-revalidate=300: в течение 300 секунд после истечения можно отдавать старую версию, пока обновляется.

Ошибки

Кешировать всё

Кеширование авторизованных страниц, корзины, checkout. Приводит к утечке данных и багам.

Слишком долгий TTL

Обновили файл, а пользователи видят старую версию полгода. Нужен разумный TTL.

Слишком короткий TTL

Кеш не работает — CDN постоянно обращается к серверу. Нет ускорения.

Нет версионирования

Обновляете файл без смены URL — пользователи видят старую версию.

Нет инвалидации

Не настроена очистка кеша при обновлениях. Пользователи видят устаревший контент.

Игнорирование Cache-Control

Сервер не отдаёт правильные заголовки. CDN не знает, что кешировать.

Наши рекомендации

🎯

1. Начните с правил

Что кешировать, что нет. Поможем настроить.

📊

2. Версионируйте статику

Хеш в имени файла. О CDN.

🚀

3. Закажите настройку кеша

Под ваш проект. Закажите услугу в Lead Hub.

📌 Что вы получаете, заказывая настройку кеша у нас

  • Правила кеша — под ваш контент
  • TTL — оптимальный для каждого типа
  • Версионирование — в сборке
  • Инвалидацию — автоматическую при деплое
  • Stale-While-Revalidate — для быстрой отдачи
  • Мониторинг — cache hit rate

🔹 Оставьте заявку на настройку кеша

Хотите максимально быстрый сайт? Оставьте заявку на бесплатную консультацию.

📌 Итоговый вывод

Кеширование в CDN — это то, что делает CDN полезным.

Что нужно знать:

  • Что кешировать — изображения, CSS/JS, шрифты, видео, документы
  • Что не кешировать — авторизованные страницы, корзина, checkout, API с приватными данными
  • TTL — 1 год для статики, 1 час для HTML, 5 минут для API
  • Cache-Control — public, private, no-cache, max-age, s-maxage
  • Правила кеша — по типам файлов и путям
  • Инвалидация — по URL, тегам, через API
  • Версионирование — хеш в имени файла
  • Stale-While-Revalidate — быстрая отдача + фоновое обновление
  • Ошибки — кешировать всё, слишком долгий/короткий TTL, нет версионирования

Хотите настроить кеш? Закажите консультацию в Lead Hub.

Также рекомендуем: что такое CDN, CDN vs сервер, защита от DDoS, CDN для видео, стоимость CDN, CDN.

Кеш работает плохо? Настроим за 1 день

Cache hit rate ниже 70%? Пользователи видят устаревшие файлы? Настроим правила кеша, TTL, версионирование и инвалидацию. Cache HIT вырастет до 90%+, сайт ускорится в 2–3 раза.

Нажимая кнопку, вы соглашаетесь на обработку персональных данных в соответствии с политикой конфиденциальности.

Почему заказывают CDN у нас

8 причин доверить подключение CDN нашей команде

Ускорение загрузки

Статика отдаётся с ближайшего к пользователю сервера. Скорость вырастает в 2–5 раз.

Снижение нагрузки

До 90% трафика идёт через CDN. Основной сервер разгружен и работает стабильнее.

Защита от DDoS

CDN фильтрует атаки и поглощает трафик. Сервер защищён даже при массовой атаке.

Глобальное покрытие

Серверы CDN по всему миру. Пользователи из разных регионов получают контент быстро.

Рост конверсии

Быстрый сайт лучше ранжируется в поиске и удерживает пользователей. Конверсия растёт.

Экономия на трафике

Трафик CDN дешевле, чем трафик основного сервера. Особенно при больших объёмах.

SSL и HTTPS

CDN работает через HTTPS. Бесплатный SSL от Cloudflare или Let's Encrypt.

Опыт с провайдерами

Работаем с Cloudflare, Яндекс CDN, VK Cloud CDN, CloudFront. Подберём оптимальный.

Что входит в подключение CDN

12+ услуг — от статики до защиты от DDoS

Как мы подключаем CDN

Прозрачный процесс от анализа до запуска

1
Анализ

Изучаем проект: тип контента, объёмы, географию пользователей. Определяем, нужен ли CDN и какой.

2
Выбор провайдера

Подбираем CDN: Cloudflare, Яндекс CDN, VK Cloud, CloudFront. По цене, геолокации, функциям.

3
Настройка DNS

Переводим домен на CDN. Настраиваем CNAME, DNS-записи, SSL.

4
Кеширование

Настраиваем правила кеша: что кешировать, что нет, на какой срок. Оптимизируем TTL.

5
SSL

Настраиваем SSL: Let's Encrypt или коммерческий. Включаем HTTPS, HSTS.

6
Тестирование

Проверяем работу CDN, скорость, кеш. Тестируем из разных регионов.

7
Мониторинг

Подключаем аналитику CDN. Отслеживаем кеш-хиты, скорость, ошибки.

8
Поддержка

Помогаем с управлением кешем, инвалидацией, оптимизацией. Поддержка 24/7.

Стоимость подключения CDN

Цены соответствуют российскому рынку на 2026 год

Базовый
от 500 ₽

Для небольших сайтов

  • Подключение CDN
  • Настройка SSL
  • Базовое кеширование
  • Аналитика
  • Поддержка в рабочее время
Заказать
ХИТ
Стандарт
от 1 500 ₽

Для средних проектов

  • Подключение CDN
  • SSL Let's Encrypt
  • Гибкое кеширование
  • Защита от DDoS
  • WAF
  • Аналитика
  • Поддержка 24/7
Заказать
Профессиональный
от 5 000 ₽

Для крупных проектов

  • Подключение CDN
  • Кастомный SSL
  • Сложные правила
  • WAF + Anti-DDoS
  • Оптимизация скорости
  • Выделенный менеджер
  • Поддержка 24/7
Заказать

* Цены ориентировочные. Точный расчёт после анализа проекта. Стоимость зависит от объёма трафика и функций.

Наши проекты

Примеры подключения CDN

Интернет-магазин

Подключение Cloudflare для интернет-магазина. Скорость загрузки выросла в 3 раза.

E-commerce Cloudflare
Видео-платформа

Настроен CDN с адаптивным стримингом для видео-сервиса. Стоимость трафика снизилась на 60%.

Видео HLS
Корпоративный сайт

Подключён Яндекс CDN для корпоративного сайта. Загрузка из регионов РФ ускорилась в 2 раза.

Корпоративный Яндекс CDN
Защита от DDoS

Настроена защита от DDoS через Cloudflare. Атака на 500 Гбит/с отбита без сбоев.

Безопасность Anti-DDoS
API-сервис

Кеширование API через CDN. Нагрузка на сервер снизилась на 70%.

API Кеш
Мобильное приложение

Раздача статики и изображений для мобильного приложения через CDN. Время отклика снизилось на 40%.

Mobile CDN

Часто задаваемые вопросы о CDN

25+ развёрнутых ответов на популярные вопросы

CDN (Content Delivery Network) — это сеть серверов по всему миру, которые кешируют и раздают ваш контент с ближайшего к пользователю сервера. Зачем: ускоряет загрузку, снижает нагрузку на сервер, защищает от DDoS, снижает стоимость трафика.

Когда пользователь открывает сайт, контент загружается не с вашего сервера, а с ближайшего сервера CDN. Например, пользователь из Владивостока получает данные с сервера во Владивостоке, а не из Москвы. Это ускоряет загрузку в 2–5 раз.

Стоимость зависит от провайдера и объёма трафика. Подключение и настройка — от 500 ₽. Ежемесячная плата — от 0 ₽ (Cloudflare Free) до 5 000+ ₽ для enterprise. Точный расчёт после анализа проекта.

Мы работаем с: Cloudflare (бесплатный и платные тарифы), Яндекс CDN, VK Cloud CDN, CloudFront (AWS), Selectel CDN, Gcore CDN. Подбираем оптимальный под ваш проект.

Да, если у вас есть пользователи из разных регионов. Даже быстрый сервер в Москве не сможет обеспечить быструю загрузку для пользователей из Владивостока или Новосибирска. CDN решает эту проблему.

Да. Большинство CDN имеют встроенную защиту от DDoS. Атака идёт не на ваш сервер, а на CDN, который фильтрует трафик. Наш сервер остаётся защищённым.

Положительно. Google и Яндекс учитывают скорость загрузки в ранжировании. Быстрый сайт лучше ранжируется. Также CDN снижает bounce rate — пользователи остаются дольше.

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

Кеширование настраивается через правила: какие файлы кешировать, на какой срок (TTL), что не кешировать (например, авторизованные страницы). Мы настраиваем правила под ваш проект.

Через инвалидацию кеша (purge). Можно очистить кеш для конкретного URL или всего сайта. Это делается через панель CDN или API. Мы настраиваем автоматическую инвалидацию при обновлениях.

Обычно CDN предоставляет бесплатный SSL (Let's Encrypt или собственный). Можно также использовать свой коммерческий SSL — тогда он настраивается на CDN.

CDN поддерживает HTTPS. Трафик между пользователем и CDN шифруется, между CDN и сервером — тоже. Можно использовать Full SSL или Full (Strict) в зависимости от настроек.

WAF (Web Application Firewall) — это файрвол на уровне приложений. Он защищает от SQL-инъекций, XSS, CSRF и других атак. Многие CDN имеют встроенный WAF.

Да. CDN может кешировать ответы API, снижая нагрузку на сервер. Это полезно для публичных API с часто повторяющимися запросами.

Динамический контент не кешируется, но CDN может ускорять его за счёт оптимизации маршрута. Например, Cloudflare Argo Smart Routing выбирает быстрейший путь между пользователем и сервером.

Обычно 1–2 часа для простого сайта. Для сложных проектов — до 1 дня. Настройка DNS занимает 5–30 минут.

Да. CDN отключается за несколько минут — достаточно вернуть DNS-записи на прямой сервер. Это удобно при миграции или тестировании.

Нагрузка снижается на 50–90%. Основной сервер обрабатывает только динамические запросы, а статика отдаётся через CDN. Это позволяет использовать более дешёвый сервер.

Мы настроены на мониторинг. Если что-то идёт не так — узнаём сразу. Также можно отключить CDN за минуты, чтобы сайт продолжил работать с основного сервера.

Для российских проектов рекомендуем Яндекс CDN, VK Cloud CDN или Selectel — они имеют серверы в РФ, что даёт высокую скорость для российских пользователей. Cloudflare — универсальное решение, но серверы за рубежом.

Да. CDN — оптимальное решение для видео. Поддерживается адаптивный стриминг (HLS, DASH), что позволяет видео подстраиваться под скорость соединения пользователя.

Edge-серверы — это серверы CDN, расположенные ближе к пользователю. Они кешируют контент и отдают его быстро. Чем больше edge-серверов — тем шире покрытие.

Трафик CDN обычно дешевле, чем трафик основного сервера. Например, у Cloudflare трафик бесплатный. Это снижает общие расходы на хостинг.

Да. CDN используется для раздачи статики и изображений для мобильных приложений. Это ускоряет загрузку и снижает нагрузку на сервер.

Консультация — в день обращения. Анализ — 1 день. Подключение — 1–2 часа после согласования. Срочно — в течение 1 часа.

Такое бывает редко, но мы готовы к правкам. На каждом этапе есть возможность внести изменения. Если результат не соответствует ТЗ — переделываем за наш счёт.

Остались вопросы? Закажите консультацию

Наш специалист свяжется с вами и бесплатно проконсультирует по всем вопросам

Нажимая кнопку, вы соглашаетесь с политикой конфиденциальности

* Необязательное поле

Загрузка...

Заказать
звонок
Заказать обратный звонок
Получите консультацию уже сегодня.
Наш специалист свяжется с вами и абсолютно бесплатно проконсультирует по всем вопросам.
Данные отправлены. Вам скоро перезвонят.
Жду звонка