Вопрос открытый: интервьюер смотрит, насколько глубоко и связно вы знаете путь запроса. Хороший ответ — общая цепочка, затем подробнее в своей области.
1. Разбор адреса. Браузер понимает, что это URL, а не поисковый запрос, проверяет HSTS-список (сразу HTTPS) и кэш.
2. DNS. Кэш браузера, ОС, затем рекурсивный резолвер; при промахе — цепочка корень → зона → авторитетный сервер. Получаем IP.
3. TCP. Тройное рукопожатие с сервером на порт 443 — один RTT. Если соединение с этим хостом уже есть, оно переиспользуется.
4. TLS. Согласование ключа и проверка сертификата — ещё один RTT в TLS 1.3. С HTTP/3 шаги 3 и 4 объединены в QUIC.
5. HTTP-запрос. GET / с заголовками Host, cookies, Accept-Encoding.
6. Путь по инфраструктуре: CDN (может ответить сам из кэша) → балансировщик → обратный прокси (nginx, ingress) → экземпляр приложения → кэш (Redis), база данных, другие сервисы → ответ обратно. Здесь можно рассказать про пулы соединений, кэширование и таймауты.
7. Ответ. Статус, заголовки (Content-Type, Cache-Control, Set-Cookie), тело, обычно сжатое gzip или brotli.
8. Браузер. Разбирает HTML в DOM, встречает CSS и скрипты — грузит их (параллельно, по тем же шагам, но соединение уже есть), строит CSSOM, выполняет JS (синхронные скрипты блокируют разбор, поэтому defer и async), считает раскладку (layout), рисует (paint) и компонует слои.
Где время. Сетевые обороты на мобильной сети — по 50–150 мс каждый, поэтому холодный заход может занять секунду до первого байта. Ускоряют: CDN ближе к пользователю, keep-alive и HTTP/2–3, кэширование статики, предзагрузка (preconnect, dns-prefetch), сжатие.