intermediate
CloudFront
Раздавайте кэшированный статический и динамический контент с edge-локаций с origin policy, invalidation, TLS и security headers.
CloudFront — CDN AWS: edge-локации кэшируют ответы ближе к пользователям. Origin — S3, ALB, API Gateway или свой HTTP-сервер. FullStack-команда ускоряет статику Next.js, осторожно кэширует GET API и завершает TLS на edge.
| Управление | Эффект | |------------|--------| | Cache policy | TTL, заголовки в ключе кэша, поведение query string | | Origin request policy | Какие headers/cookies доходят до origin | | OAC / OAI | Приватный S3 без публичных bucket | | Invalidation | Сброс путей после деплоя — растёт стоимость |
Разделяйте behaviors для `/_next/static` и динамического HTML. Security headers (HSTS, CSP) — через response headers policy. Access logs или real-time logs помогают разбирать cache miss.
На интервью: дизайн cache key, stale-while-revalidate, signed URL/cookies, WAF на edge и почему нельзя слепо кэшировать authenticated API.
Типовые ошибки: кэш ответов с `Set-Cookie`; длинный TTL на HTML при активной разработке; origin в интернете, когда к нему должен ходить только CloudFront; игнор тарифов по регионам.
Компромисс — глобальная latency и разгрузка origin против сложности invalidation и отладки распределённого поведения.
Чеклист:
- Отдельные behaviors для статики и динамических маршрутов.
- S3 за OAC; security groups origin только для CloudFront.
- TTL и cache keys под семантику API.
- Авто-invalidation или версионирование имён ассетов.