Как происходит отрисовка сайта в браузере

«Как происходит отрисовка сайта в браузере» — вопрос из категории Сети, который задают на 24% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Браузер отрисовывает сайт в несколько этапов:

  1. Парсинг HTML - строится DOM-дерево
  2. Парсинг CSS - формируется CSSOM (объектная модель CSS)
  3. Построение Render Tree - комбинация DOM и CSSOM
  4. Layout (Reflow) - вычисление позиций и размеров элементов
  5. Paint - отрисовка пикселей на экране
  6. Composite - композиция слоев (если есть аппаратное ускорение)

Пример критического пути рендеринга:

<html>
<head>
  <link rel="stylesheet" href="style.css"> <!-- Блокирующий ресурс -->
</head>
<body>
  <p>Hello World</p>
  <script src="app.js"></script> <!-- Блокирует парсинг HTML -->
</body>
</html>

Оптимизации:

  • Размещать CSS в head
  • Откладывать неключевые JS (async/defer)
  • Минимизировать пересчеты стилей и макета