Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про HTML: critical, path, render

Что такое критический путь рендеринга браузера?

Вопрос проверяет, понимаешь ли ты, какие шаги и ресурсы нужны браузеру до первого “полезного” отображения страницы и что именно это может блокировать.

Короткий ответ

Критический путь рендеринга — это последовательность шагов и ресурсов, которые нужны браузеру, чтобы показать страницу пользователю. Обычно он включает построение DOM, CSSOM, создание Render Tree, layout и paint. Если на пути есть блокирующие ресурсы (часто CSS и синхронный JS), браузер откладывает первую отрисовку. Оптимизация критического пути — это уменьшение объёма и количества блокирующих ресурсов и перенос некритичных загрузок.

Длинный ответ

Критический путь рендеринга (Critical Rendering Path) описывает “минимально необходимую цепочку”, без которой браузер не сможет отрисовать первый экран.

Определение

Определение: Критический путь рендеринга — набор операций и зависимостей (ресурсы + шаги), которые должны завершиться, чтобы браузер смог выполнить первую отрисовку.

Из чего обычно состоит путь

Перед первой отрисовкой браузеру обычно нужно:

  1. Построить DOM из HTML.

  2. Загрузить и распарсить CSS → построить CSSOM.

  3. Собрать Render Tree из DOM + CSSOM.

  4. Выполнить layout (геометрия).

  5. Выполнить paint (рисование), иногда composite.

Что чаще всего “блокирует” критический путь

  1. CSS как render-blocking

    • Пока стили не готовы, браузер не хочет рисовать страницу “голой”.

  2. Синхронный JS в неподходящем месте

    • <script> без defer/async может остановить парсинг HTML.

    • Скрипт может запросить стили/размеры (getComputedStyle, offsetHeight) и вынудить браузер синхронно “догонять” расчёты.

Как обычно оптимизируют (идея, без “магии”)

  1. Уменьшают и дробят CSS:

    • критические стили для первого экрана — быстрее,

    • остальное — позже.

  2. Скрипты делают неблокирующими:

    • defer для большинства скриптов,

    • async для независимых.

  3. Откладывают некритичные ресурсы:

    • изображения ниже первого экрана (loading="lazy"),

    • аналитика/виджеты — после первого рендера.

Мини-пример: defer как типичная оптимизация

<script src="/app.js" defer></script>

defer позволяет браузеру продолжать строить DOM, а скрипт выполнится позже, когда HTML уже распарсен.

Вывод: критический путь рендеринга — это то, что влияет на скорость появления первого полезного контента. Его оптимизация почти всегда сводится к уменьшению блокирующих CSS/JS и переносу второстепенных вещей “после первого экрана”.

Уровень

  • Рейтинг:

    5

  • Сложность:

    7

Навыки

  • HTML

    HTML

Ключевые слова

#critical

#path

#render

Подпишись на React Developer в телеграм