Кустов о CDN и лендах

Четыре заголовка HTTP, которые ломают кэширование на CDN

Большинство проблем с кэшированием контента происходит не из-за самой CDN, а из-за неправильных заголовков. Вот что чаще всего идёт не так.

Cache-Control — главный заголовок. Если его нет или он стоит как no-cache, CDN не будет кэшировать вообще. Правильно: public, max-age=3600 (кэш на час) для статики или private, max-age=0 для персональных данных. Без явного max-age CDN угадывает время жизни, и результат непредсказуем.

Vary — коварный заголовок. Если сервер пишет Vary: User-Agent, CDN создаёт отдельную копию контента для каждого браузера. Со временем кэш раздувается, а hit-rate падает. Используй Vary только когда действительно нужно: для сжатия (Vary: Accept-Encoding) или языков (Vary: Accept-Language).

Set-Cookie в ответе — и кэш игнорируется. Если ты устанавливаешь куки на контенте, который должен кэшироваться, переноси их в отдельный эндпоинт или используй Cache-Control: private. Иначе персональные данные одного пользователя просочатся к другому.

ETag и Last-Modified — нужны, но не вместо кэша. Они срабатывают при If-None-Match запросе, возвращая 304 вместо всего контента. Это экономит трафик, но медленнее, чем попадание в кэш. Не забывай: ETag должен быть weak (W/"...") для динамического контента.

Проверь заголовки своего сайта через DevTools → Network → выбери запрос → Response Headers. Если видишь конфликт — кэш вообще не будет работать, и весь трафик пойдёт на origin.
Этот пост опубликован в Telegram-канале Кустов о CDN и лендах. Подписаться можно по ссылке: @kustov_cdn_lendy.
buyer

Свежие посты в категории «Медиабайинг»

Все каналы категории →

start

Готовы запустить рекламу через сеть public.tg?

Новый оффер, продукт, GEO, кейс, событие или партнёрский запуск — соберём маршрут под задачу и отдадим медиаплан.

Telegram для медиаплана: @AFFtop_connect. Быстрый тест: $20 за канал, $1000 за пакет по сети.