PassFront
  1. PassFront
  2. База знаний
  3. DOM и браузер

Какие данные браузер кеширует по умолчанию?

DOM и браузер

Браузер по умолчанию кеширует статические ресурсы согласно HTTP-заголовкам: изображения, CSS, JS, шрифты (по `Cache-Control`/`ETag`/`Expires`), а также DNS, некоторые ответы. Управляется заголовками ответа.

Что кешируется

Статические ресурсы (по заголовкам)

  • Изображения, CSS, JS, шрифты, медиа.
  • Кешируются согласно заголовкам ответа:
Cache-Control: max-age=31536000, immutable
ETag: "abc123"
Expires: ...

Без явных заголовков браузер применяет эвристики (может кешировать на основе Last-Modified).

GET-ответы

Кешируемы (по заголовкам); POST/PUT/DELETE — нет.

DNS

Браузер кеширует DNS-резолвинг на время TTL.

Прочее

  • Редиректы (301 — постоянный кешируется).
  • Prefetch-ресурсы.
  • HTTP/2 push — уже не актуален: Chrome и Firefox убрали его поддержку.

Управление кешированием

Cache-Control (главный)

Cache-Control: max-age=3600         # кеш на час
Cache-Control: no-cache             # проверять актуальность (revalidate)
Cache-Control: no-store             # не кешировать вообще
Cache-Control: immutable            # не перепроверять (для хешированных файлов)

Валидация

  • ETag / If-None-Match — сервер отвечает 304, если не изменилось.
  • Last-Modified / If-Modified-Since.

Cache busting

Хеш в имени файла (app.a1b2c3.js) — при изменении меняется имя → браузер грузит новую версию, старое кешируется «навсегда».

Виды кеша браузера

  • Memory cache — в памяти (быстрый, на время сессии).
  • Disk cache — на диске (переживает перезапуск).

Коротко для собеседования

Браузер по умолчанию кеширует статические ресурсы (изображения, CSS, JS, шрифты) согласно HTTP-заголовкам (Cache-Control, ETag, Expires), GET-ответы, DNS (по TTL), постоянные редиректы. Без заголовков применяет эвристики. Управляют через Cache-Control (max-age, no-store, immutable) и валидацию (ETag/304). Обновление — cache busting (хеш в имени файла).

Другие вопросы раздела