Что происходит в сети, когда вы открываете URL в браузере?
Модели OSI и TCP/IP
Браузер разбирает URL, находит IP через DNS, открывает TCP-соединение, договаривается о TLS и отправляет HTTP-запрос — на холодном старте это несколько RTT ещё до первого байта HTML.
Цепочка шагов
- Разбор URL и проверка HSTS:
http://может быть заменён наhttps://без единого сетевого запроса. - DNS: кеш браузера → кеш ОС и hosts → рекурсивный резолвер. Промах стоит минимум 1 RTT до резолвера.
- TCP handshake SYN → SYN-ACK → ACK — 1 RTT.
- TLS 1.3 — ещё 1 RTT (при возобновлении сессии возможен 0-RTT). В HTTP/3 транспорт и TLS объединены в QUIC — 1 RTT на всё.
- Запрос и ответ — 1 RTT плюс время работы сервера; вместе это TTFB.
Что дальше
- Парсер HTML находит CSS, JS, шрифты — новые запросы, часто на сторонние домены со своими DNS, TCP и TLS.
- Соединения переиспользуются: keep-alive в HTTP/1.1, мультиплексирование в HTTP/2.
- Часть ответов приходит из кеша браузера, Service Worker или CDN — сетевые шаги пропускаются.
Как ускорить
<link rel="preconnect">иdns-prefetchдля критичных сторонних доменов.- Меньше доменов — меньше рукопожатий.
- CDN сокращает сам RTT за счёт близости к пользователю.
Коротко для собеседования
До первого байта HTML браузер тратит несколько RTT: DNS, TCP, TLS и сам запрос — на холодном HTTPS через HTTP/2 около четырёх. Поэтому ускоряют прежде всего путь: preconnect к важным доменам, меньше сторонних хостов, CDN рядом с пользователем.