Кеширование браузера
Определение: Кеширование браузера — это механизм, при котором браузер сохраняет файлы сайта (картинки, CSS, JS, шрифты) у пользователя и при повторных визитах не скачивает их заново, если они не изменились. Управляется заголовками ответа сервера и настройками кеша.
Зачем это нужно
- Ускорить повторные заходы: многие ресурсы берутся из кеша, а не из сети.
- Снизить нагрузку на сервер и CDN за счёт меньшего количества запросов.
- Сэкономить трафик пользователям, особенно на мобильных тарифах.
- Улучшить метрики скорости (как правило, заметнее на страницах со множеством ресурсов).
- Сделать сайт “устойчивее”: при нестабильном интернете часть контента всё равно быстро подтягивается из кеша.
Пример
Пример кода:
# Пример заголовков кеширования для статики (в логике сервера/прокси)
Cache-Control: public, max-age=31536000, immutable
# Для HTML обычно ставят короткое кеширование или отключают
Cache-Control: no-cache
Идея простая: “тяжёлую” статику (CSS/JS/картинки) кешируем надолго, а HTML — обновляем чаще, чтобы изменения на сайте показывались сразу. Чтобы можно было безопасно кешировать файлы год, обычно используют версионирование в имени файла (например, app.8f3a1c.js), тогда при обновлении меняется URL — и браузер скачает новую версию.
Скриншот
Подпись к скриншоту: Chrome DevTools → Network → выбран CSS/JS/изображение: в Headers видно Cache-Control/max-age, а в колонке Size отображается “from disk cache” или “from memory cache”.
Частые ошибки
- Ставить долгий кеш на HTML — пользователи могут видеть устаревшую версию страниц.
- Кешировать CSS/JS “навсегда”, но не делать версионирование файлов (в итоге изменения не доходят до пользователей).
- Смешивать разные директивы Cache-Control без понимания (например, одновременно ожидать “и кешируется”, и “всегда обновляется”).
- Не проверять заголовки в DevTools и ориентироваться только на “ощущения”.
- Забывать про кеширование шрифтов и SVG — это тоже статика, которая часто грузится на каждом экране.
Связанные термины
- Cache-Control
- ETag
- Last-Modified
- CDN
- Gzip
- Brotli
- Lighthouse
Наши услуги
- Доработка сайтов — настраиваем кеширование статики, версионирование файлов и ускоряем повторные загрузки.
- Техническая поддержка сайта — следим за корректными заголовками кеша после обновлений сервера и релизов.
- SEO-продвижение сайтов — улучшаем техническое состояние и скорость сайта, чтобы он лучше ранжировался и конвертировал.