intermediate

CDN

Кэшируйте статику и динамику на edge: cache keys, headers, стратегия purge, origin shielding и stale behavior.

CDN Cloudflare кэширует ответы на edge PoP по cache key из URL, метода, заголовков и cookies. Для React или Next.js агрессивно кэшируют хешированные статические ассеты, а HTML и авторизованные API держат dynamic или с коротким TTL.

					Cache-Control: public, max-age=31536000, immutable
# для /assets/app.a1b2c3.js

Cache-Control: private, no-store
# для /api/me или персонализированного HTML
				

| Параметр | Эффект | |----------|--------| | `Cache-Control` | Основной TTL браузера и edge | | `CF-Cache-Status` | HIT, MISS, EXPIRED, BYPASS | | Page Rules / Cache Rules | Поведение кэша по path | | Purge | Инвалидация по URL, tag или prefix |

После deploy используйте cache tags или prefix purge вместо полной очистки. Origin shield и stale-while-revalidate сглаживают пики нагрузки.

На интервью: состав cache key, заголовки `Vary`, стратегия purge после деплоя JS-бандла, разделение dynamic/static и диагностика MISS-штормов.

Типовые ошибки: кэш ответов с `Set-Cookie`; игнор query string в ключе; purge всего на каждый deploy; длинный TTL на HTML со stale API-данными.

Компромисс — разгрузка origin и latency (длинный кэш) против актуальности, персонализации и сложности инвалидации.

Чеклист:

  • Fingerprint для static assets; длинный кэш.
  • Auth и session paths — uncached или private.
  • Автоматизируйте targeted purge при deploy.
  • Смотрите `CF-Cache-Status` на staging.