Кэш статики и динамики: где теряется контроль над CDN и как не сломать кеширование
Статика должна жить долго: CSS, JS, шрифты, изображения. Для неё важны длинный TTL, корректный Cache-Control и отсутствие лишних query string в URL. Если файл меняется редко, не заставляйте CDN и браузер проверять его на каждом запросе. Но при этом используйте versioning в имени файла — это надёжнее, чем полагаться на принудительную очистку кэша.
Динамика требует обратного подхода. HTML, корзина, личный кабинет, API-ответы с персональными данными не должны попадать в общий кэш без явного контроля. Здесь опасны правила «кэшировать всё», если не разведены cookies, headers и методы запросов. Один ошибочный hit по приватному контенту — и проблема уже не в производительности, а в безопасности.
Практика проста:
• для статики — Cache Everything не нужен, достаточно правильных origin headers;
• для динамики — учитывайте Cookie, Authorization и vary по нужным заголовкам;
• не кэшируйте ответы с Set-Cookie без понимания последствий;
• отдельно проверяйте TTL на edge и в браузере, это разные уровни.
Разбираем логи, оптимизируем кэширование, минимизируем задержки. Если сомневаетесь, начните с разделения контента на статический и персонализированный, а затем проверяйте, какие ответы CDN реально отдаёт из кэша. Безопасность и скорость: находим баланс в каждой конфигурации.
Оптимизация Cloudflare и CDN
@cloudflare_optimization_pro_arb
Кэш статики и динамики: где теряется контроль над CDN и как не сломать кеширование
Этот пост опубликован в Telegram-канале Оптимизация Cloudflare и CDN. Подписаться можно по ссылке: @cloudflare_optimization_pro_arb.