Что происходит после Enter
- DNS превращает имя
shop.example.ruв IP-адрес. - TCP-рукопожатие устанавливает соединение с сервером.
- TLS-рукопожатие договаривается о шифровании (для HTTPS).
- Браузер отправляет HTTP-запрос.
- На сервере запрос проходит балансировщик, веб-сервер, приложение, кэш и базу.
- Приходит ответ, браузер разбирает HTML, догружает CSS, JavaScript и картинки и рисует страницу.
Каждый шаг — минимум один оборот по сети. Поэтому так важны кэш DNS, повторное использование соединений (keep-alive) и CDN рядом с пользователем. На собеседовании глубину выбирают по вакансии: бэкендеру — подробнее про сервер, фронтендеру — про рендеринг.
Слои сети
Сеть устроена слоями: каждый решает свою задачу и пользуется нижним. OSI — учебная модель из семи уровней, на практике работает TCP/IP из четырёх:
| Слой | Протоколы | Задача |
|---|---|---|
| Канальный | Ethernet, Wi-Fi | кадры между соседями по MAC-адресам |
| Сетевой | IP | пакеты между любыми узлами через маршрутизаторы |
| Транспортный | TCP, UDP | доставка между процессами по портам |
| Прикладной | HTTP, DNS, gRPC | смысл сообщений |
«L4» и «L7» в описании балансировщиков — номера уровней OSI: транспортный и прикладной.
TCP и UDP
TCP — надёжный упорядоченный поток байтов с установкой соединения: рукопожатие, подтверждения, повторная передача, порядок, управление потоком и перегрузкой.
UDP — отдельные датаграммы без гарантий: нет соединения, повторов и порядка, зато быстро и просто. Его выбирают там, где потерянное уже устарело — голос, видео, игры, — и где запрос маленький, как в DNS.
QUIC, на котором работает HTTP/3, строит надёжность поверх UDP, чтобы обойти ограничения TCP.
DNS
DNS — распределённая иерархическая база «имя → адрес». Рекурсивный резолвер спрашивает по цепочке: корневые серверы → серверы зоны .ru → авторитетный сервер домена. Ответы кэшируются в браузере, ОС и резолвере на время TTL.
| Запись | Что хранит |
|---|---|
| A, AAAA | IPv4- и IPv6-адрес |
| CNAME | псевдоним другого имени |
| MX | почтовый сервер |
| TXT | произвольный текст, проверки владения |
| NS | какие серверы отвечают за зону |
Как проверить DNS
dig shop.example.ru # A-запись и оставшийся TTL
dig shop.example.ru MX +short # только ответ
dig @8.8.8.8 shop.example.ru # спросить конкретный резолвер
dig +trace shop.example.ru # цепочка от корня
Разные ответы у разных резолверов — где-то в кэше старое значение, ждите TTL. NXDOMAIN — домена нет; пустой ответ — нет записи такого типа. nslookup делает то же попроще и есть в Windows.
Переезд без простоя
Резолверы держат запись до истечения TTL, поэтому смена адреса не мгновенна. План:
- Заранее, не позже чем за текущий TTL, понизить TTL до минут.
- Поднять новый сервер и проверить его напрямую.
- Сменить запись.
- Держать старый сервер, пока по логам не уйдёт трафик, — некоторые резолверы игнорируют TTL.
- Вернуть TTL обратно.
Что запомнить
- DNS → TCP → TLS → HTTP → сервер → ответ → рендеринг.
- TCP — надёжность и порядок, UDP — скорость без гарантий.
- DNS кэшируется на время TTL — перед переездом его снижают.
digпоказывает и запись, и сколько она ещё проживёт в кэше.