Lighthouse анализирует сетевые запросы веб-страницы, чтобы оценить производительность, эффективность загрузки ресурсов и взаимодействие с сервером. Каждый запрос, инициированный браузером при загрузке страницы, регистрируется и подвергается проверке на наличие узких мест. Основные параметры, которые исследуются: время ответа сервера, размер передаваемых данных, эффективность кеширования и приоритет загрузки ресурсов.
Lighthouse разделяет запросы на блокирующие и неблокирующие, оценивая их влияние на скорость отображения страницы (FCP, LCP) и интерактивность (TTI).
Минимизация количества запросов
Сжатие ресурсов
Кеширование
Cache-Control и
ETag.<link rel="preload">.Оптимизация приоритетов
loading="lazy").async,
defer).importance="low" для необязательных
ресурсов.Lighthouse создает детализированные отчеты, включающие:
Каждый запрос снабжен метаданными: URL, размер, время загрузки, код статуса, источник. Эти данные позволяют выявлять узкие места: медленные API, крупные изображения, блокирующие скрипты.
JavaScript-интерфейс Lighthouse позволяет запускать аудит программно и получать сетевые данные:
import {launch} from 'chrome-launcher';
import lighthouse from 'lighthouse';
async function runLighthouse(url) {
const chrome = await launch({chromeFlags: ['--headless']});
const options = {port: chrome.port, onlyCategories: ['performance']};
const result = await lighthouse(url, options);
const networkRequests = result.lhr.audits['network-requests'].details.items;
console.log(networkRequests);
await chrome.kill();
}
runLighthouse('https://example.com');
В networkRequests содержится список всех сетевых
операций с подробной информацией о времени запроса,
размере ответа, методе запроса и
статусе HTTP.
Сетевые запросы являются ключевым фактором в оценке производительности страницы. Lighthouse позволяет выявить и исправить узкие места, предоставляя структурированную информацию о каждом ресурсе и его влиянии на скорость загрузки, интерактивность и визуальное восприятие контента. Оптимизация запросов через сжатие, кеширование и приоритизацию повышает скорость, стабильность и эффективность работы веб-приложения.