Back to questions
Middle
3
Опиши последовательность действий браузера (и не только браузера) после ввода URL и запроса страницы. Что такое forced layout?
Companies where asked
ВШЭ
Answer from AI
sobes.tech AI
После ввода URL и нажатия Enter браузер выполняет следующие шаги:
- Разбор URL — выделяет протокол, домен, путь, параметры.
- DNS-запрос — преобразует доменное имя в IP-адрес.
- Установка TCP-соединения (и TLS, если HTTPS).
- Отправка HTTP-запроса на сервер.
- Получение HTTP-ответа с кодом состояния, заголовками и телом.
- Парсинг HTML — браузер строит DOM-дерево.
- Загрузка ресурсов — CSS, JS, изображения, шрифты и др.
- Парсинг CSS — строится CSSOM (CSS Object Model).
- Построение Render Tree — объединение DOM и CSSOM.
- Layout (Reflow) — вычисление размеров и позиций элементов.
- Paint — отрисовка пикселей на экране.
- Выполнение JavaScript — может изменять DOM/CSSOM, вызывая повторные Layout и Paint.
Forced layout (принудительный layout) — это ситуация, когда браузеру приходится немедленно пересчитывать расположение элементов (layout), обычно из-за обращения к свойствам, требующим актуальных размеров (например, offsetWidth, clientHeight). Это блокирует поток выполнения и снижает производительность, так как браузер вынужден прервать текущие операции и выполнить перерасчет стилей и расположения элементов.
Избегать forced layout можно, минимизируя чтение свойств, вызывающих reflow, и группируя изменения DOM и стилей.