Проверяет понимание принципов браузерного кэширования, стратегий настройки HTTP-заголовков и критериев выбора ресурсов для кэширования.
Браузерное кэширование — это механизм, при котором браузер сохраняет локальные копии ответов сервера (HTML, CSS, JS, изображения и другие ресурсы). При повторном запросе браузер может использовать сохранённую копию, не обращаясь к серверу, что сокращает время загрузки, уменьшает сетевой трафик и нагрузку на сервер. Это одна из ключевых техник оптимизации веб-производительности.
Главный заголовок — Cache-Control. Он задаёт директивы: max-age (время жизни в секундах), no-cache (требовать проверки на сервере перед использованием), no-store (не сохранять вообще), public/private (разрешение на кэширование прокси и браузером). Также используются Expires (устаревший, но ещё встречается), ETag (уникальный идентификатор версии ресурса) и Last-Modified (дата последнего изменения).
max-age (например, 1 год) и использовать версионирование в имени файла (например, app.12345.js).Cache-Control: no-store или no-cache.Пример конфигурации для статики в Express (Node.js):
app.use('/static', express.static('public', {
maxAge: '365d',
etag: true,
lastModified: true
}));Для HTML-ответа можно установить заголовки вручную:
res.set('Cache-Control', 'no-store');
res.send(html);Когда файл обновляется, браузер может продолжать использовать старую версию. Решение — добавлять хэш содержимого в имя файла (например, styles.a1b2c3.css). При изменении файла меняется хэш, и браузер запрашивает новую версию. Это стандартная практика в сборщиках (Webpack, Vite).
Браузерное кэширование — обязательный инструмент для ускорения сайта. Правильная стратегия: кэшировать неизменяемые статические ресурсы с длительным сроком и версионированием, а динамические и чувствительные данные — не кэшировать или использовать проверку на сервере. Это снижает нагрузку на сеть и сервер, улучшая пользовательский опыт.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию