Какие механизмы происходят при получении web-страницы?
Комментарии (1)
Ответ сгенерирован нейросетью и может содержать ошибки
Какие механизмы происходят при получении web-страницы
Лоадинг веб-страницы включает несколько ключевых этапов: DNS, TCP соединение, HTTP запрос, сервер обработка, парсинг HTML, загрузка CSS/JS, построение Render Tree, Layout, Paint и Composite.
DNS Resolution
Преобразование доменного имени в IP адрес (50-300ms).
TCP Connection
Установка соединения с сервером (50-100ms).
TLS Handshake
Для HTTPS: обмен сертификатами и создание безопасного канала.
HTTP Request
Отправка GET запроса с заголовками.
Server Processing
Обработка на сервере, обращение к БД, генерация HTML. TTFB (Time To First Byte).
HTML Parsing
Браузер парсит HTML построчно, создавая DOM Tree.
CSS Loading
При встречении <link> CSS блокирует HTML парсинг. Создаётся CSSOM Tree.
Resource Loading
Браузер загружает изображения, шрифты, скрипты указанные в HTML.
Render Tree
Комбинация DOM + CSSOM = Render Tree (только видимые элементы).
Layout (Reflow)
Вычисление координат и размеров всех элементов.
Paint
Рисование пикселей на основе стилей.
JavaScript Execution
Обычные скрипты блокируют HTML парсинг. Используй defer для неблокирующей загрузки.
Composite
Объединение слоёв и вывод на экран.
Critical Rendering Path (CRP)
HTML → DOM
CSS → CSSOM
DOM + CSSOM → Render Tree → Layout → Paint → Composite
Оптимизация
- CSS в
<head>блокирует парсинг, минимизируй размер - Используй
deferдля скриптов:<script defer src="app.js"></script> - Инлайни критический CSS для above-the-fold контента
- Используй
asyncтолько для независимых скриптов - Предзагружай критичные ресурсы:
<link rel="preload" href="font.woff2" as="font">
Events
DOMContentLoaded- DOM полностью спарсенload- все ресурсы загруженыreadystatechange- этапы загрузки (loading, interactive, complete)