Для файлов с hash в имени (app.a1b2c3.js) безопасен длинный max-age и immutable — при деплое меняется имя файла.
HTML и JSON с персонализацией обычно no-cache или короткий TTL, чтобы пользователи не видели чужую сессию из edge-кэша.
- [Cache-Control — MDN](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control) — Директивы и семантика.
- [HTTP caching — MDN](https://developer.mozilla.org/en-US/docs/Web/HTTP/Caching) — Как браузер и прокси кэшируют ответы.
---
## CDN
Документируйте политику purge: что сбрасывается при релизе контента vs кода.
Проверяйте заголовки ответа в production, а не только конфиг nginx «на бумаге».
