Вопрос проверяет понимание того, какие ресурсы запрашивает браузер при загрузке веб-страницы и в каком порядке они обрабатываются.
Когда пользователь открывает сайт, браузер начинает с запроса главного HTML-документа по указанному URL. Получив HTML, он запускает парсер, который строит DOM-дерево. По мере разбора документа браузер встречает ссылки на внешние ресурсы и инициирует их загрузку.
<link rel="stylesheet"> или @import; блокирует рендеринг, так как без стилей страница не должна отображаться.<script>; обычный скрипт блокирует парсинг HTML, пока не загрузится и не выполнится.CSS блокирует рендеринг, потому что браузер не хочет показывать неоформленную страницу. Скрипты без атрибутов async или defer блокируют парсер: пока скрипт не выполнится, HTML дальше не разбирается. Это важно, потому что скрипт может использовать document.write или обращаться к элементам, которых ещё нет в DOM.
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="styles.css"> <!-- блокирует рендер -->
<script src="app.js"></script> <!-- блокирует парсинг -->
<script src="analytics.js" async></script> <!-- не блокирует -->
</head>
<body>
<img src="logo.png" alt="logo"> <!-- грузится параллельно -->
</body>
</html><head>, чтобы избежать FOUC.defer для скриптов, которым нужен DOM, и async для независимых.preload/prefetch для критичных ресурсов.Итог: браузер загружает HTML, затем CSS, JS и медиа, причём CSS и синхронные скрипты блокируют критический путь рендеринга. Понимание этого порядка помогает ускорить загрузку и улучшить метрики вроде First Contentful Paint.
Уровень
Рейтинг:
4
Сложность:
3
Навыки
JavaScript
HTML
Ключевые слова
Подпишись на React Developer в телеграм
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию