intermediate
Browser caching
Комбинируйте HTTP cache, Cache Storage, immutable assets, validation, инвалидацию и offline-стратегию осознанно.
Кэширование в браузере включает HTTP cache, memory cache, disk cache, Cache Storage и прикладные кэши данных. Сильные ответы сочетают immutable hashed assets, валидацию изменяемых ресурсов, явную инвалидацию и стратегии service worker только там, где нужен offline или устойчивость.
Cache-Control: public, max-age=31536000, immutable
# hashed build assets
Cache-Control: no-cache
# revalidate с ETag при каждом использовании
Не помечайте HTML shell долгоживущим immutable без жёсткой инвалидации при выкладке. Разделяйте публичные CDN-ассеты и private API responses.
На интервью: компромиссы cache-control, ETags, устаревший контент, CDN и auth-ответы.
Типовые ошибки: immutable HTML ловит старые выкладки; private data без Vary и инвалидации — утечки.
Компромисс: удобство против контроля — выбирайте механизм под вашу связность и бюджет производительности.
Чеклист:
- Hash и immutable для статики.
- Revalidate для изменяемых API.
- Инвалидация при deploy и logout.
- Private responses вне shared cache.