Lighthouse анализирует производительность веб-страниц, включая эффективность использования кеширования ресурсов. Основной задачей кеширования является сокращение времени загрузки за счет хранения статических или редко изменяющихся ресурсов на стороне клиента или промежуточных серверов.
HTTP-кеширование Использует стандартные
заголовки HTTP (Cache-Control, Expires,
ETag, Last-Modified) для определения политики
хранения ресурсов. Lighthouse проверяет наличие этих заголовков и их
правильную конфигурацию.
Cache-Control: max-age=31536000 — ресурс может
храниться в течение одного года.ETag и Last-Modified позволяют браузеру
проверять, изменился ли ресурс, минимизируя объем передаваемых
данных.Service Workers и кеширование через PWA Service
Worker позволяет создавать пользовательский кеш с расширенной логикой.
Lighthouse оценивает, насколько правильно настроен кеш для
оффлайн-доступа и повторного использования ресурсов. Используются методы
caches.open() и cache.put() для управления
кешированными данными.
Кеширование динамического контента Даже динамические страницы могут использовать кеширование через стратегии типа stale-while-revalidate, что позволяет отдавать пользователю устаревший контент, пока загружается обновленный. Lighthouse фиксирует отсутствие подобных стратегий как потенциальную точку улучшения.
Serve static assets with an efficient cache policy Этот аудит проверяет, что статические ресурсы (CSS, JS, изображения) имеют правильные HTTP-заголовки кеширования. Нарушение рекомендаций снижает оценку производительности.
Avoid unnecessary network requests Lighthouse анализирует повторные загрузки ресурсов, которые могли бы быть закешированы. Это важно для сокращения трафика и ускорения отклика страниц.
Time to First Byte (TTFB) и кеширование Использование кеша на стороне клиента уменьшает количество запросов к серверу, что напрямую влияет на TTFB. Lighthouse учитывает задержки сети и эффективность кеша в расчетах производительности.
Выбор стратегии кеширования
Cache-Control: public, max-age=<seconds> — для
неизменяемых ресурсов.Cache-Control: no-cache — для динамического контента с
проверкой актуальности.stale-while-revalidate — для балансировки между
скоростью отдачи и актуальностью.Разделение ресурсов по важности
Управление версионированием ресурсов
app.abc123.js) позволяет
установить долгий срок кеширования, не опасаясь устаревших версий.Cache-Control и ETag
для всех статических ресурсов.Эффективное кеширование снижает нагрузку на сервер, ускоряет загрузку страниц и повышает показатели Lighthouse, такие как Performance и SEO. Понимание того, какие ресурсы и как кешируются, позволяет реализовать точечные оптимизации без лишних сетевых запросов.