Что происходит после ввода URL в браузере и нажатия Enter?
Вопрос-«зонтик»: интервьюер смотрит, насколько глубоко вы понимаете стек. Опорные точки:
- Разбор URL, проверка HSTS-списка, поиск в кешах браузера.
- DNS-резолв: кеш браузера → кеш ОС → hosts → рекурсивный резолвер провайдера → корневые серверы → TLD → авторитативный сервер. Результат — IP-адрес.
- TCP-соединение: трёхэтапное рукопожатие SYN → SYN-ACK → ACK. (Для HTTP/3 — QUIC поверх UDP, рукопожатие совмещено с TLS.)
- TLS-рукопожатие: согласование версии и шифров, проверка сертификата по цепочке до доверенного корня, выработка сеансовых ключей.
- HTTP-запрос с заголовками и cookies; на пути — прокси, CDN, балансировщик, кеши.
- Ответ сервера, возможно с кодом перенаправления или из кеша (
304 Not Modified). - Рендеринг: парсинг HTML → DOM, CSS → CSSOM, построение дерева рендеринга, layout, paint, composite. Синхронный
<script>в<head>блокирует парсинг. - Догрузка ресурсов, выполнение JS, гидратация, события
DOMContentLoadedиload.
Как отвечать: дайте карту целиком за минуту, затем спросите, какой слой раскрыть подробнее. Это показывает и широту, и умение управлять диалогом.
- Что происходит при TLS-рукопожатии?
- Почему script в head блокирует рендеринг?