Как работает веб: DNS, IP, домены

DNS (Domain Name System) — распределённая система, которая переводит человекочитаемые доменные имена в IP-адреса, необходимые для сетевой маршрутизации.

Зачем нужно

Понимание цепочки DNS → IP → TCP-соединение → HTTP объясняет задержки при первом запросе, помогает диагностировать проблемы с развёртыванием и настраивать CDN. Разработчик, знающий как браузер «находит» сервер, лучше понимает CORS, SSL, и почему изменения DNS вступают в силу не сразу.

Где используется

  • Настройка доменов и DNS-записей при деплое
  • Диагностика проблем подключения (nslookup, dig, ping)
  • Настройка HTTPS-сертификатов (верификация через DNS TXT-запись)
  • CDN и геораспределённые системы (DNS-балансировка)

Путь от URL до ответа сервера

Шаг 1: Пользователь вводит https://example.com в браузер

Шаг 2: Браузер проверяет кэш DNS (несколько мс)
        /etc/hosts → браузерный кэш → ОС кэш

Шаг 3: DNS-запрос (если не в кэше)
        Браузер → Резолвер провайдера (8.8.8.8 или 1.1.1.1)
               → Root DNS (знает .com NS)
               → TLD DNS .com (знает example.com NS)
               → Авторитативный NS (знает A-запись)
        Ответ: example.com → 93.184.216.34
        Результат кэшируется по TTL

Шаг 4: Браузер подключается к 93.184.216.34:443 (TCP + TLS handshake)

Шаг 5: HTTP-запрос через установленное соединение
        GET / HTTP/2 Host: example.com

Шаг 6: Сервер отвечает HTML → браузер рендерит страницу

Типы DNS-записей

A      — домен → IPv4 адрес
         example.com → 93.184.216.34

AAAA   — домен → IPv6 адрес
         example.com → 2606:2800:220:1:248:1893:25c8:1946

CNAME  — алиас на другое имя
         www.example.com → example.com

MX     — почтовый сервер для домена
         example.com → mail.example.com (priority 10)

TXT    — произвольный текст (верификация, SPF, DKIM)
         _acme-challenge.example.com → "abc123..." (HTTPS сертификат)

NS     — авторитативные DNS-серверы
         example.com → ns1.dnsprovider.com

ALIAS/APEX CNAME — CNAME для корневого домена (у некоторых провайдеров)

Диагностика DNS

# Резолвинг домена
nslookup example.com
dig example.com A

# Подробный трейс DNS
dig +trace example.com

# Проверка с конкретным DNS-сервером
dig @8.8.8.8 example.com A

# Время резолвинга
time nslookup example.com

IP-адреса и порты

IPv4: 192.168.1.100 (4 байта, ~4 млрд адресов)
IPv6: 2001:db8::1  (16 байт, 3.4×10^38 адресов)

Порты по умолчанию:
HTTP  → 80   (браузер подставляет автоматически)
HTTPS → 443
SSH   → 22
FTP   → 21

localhost = 127.0.0.1 = ::1 (loopback — ваш компьютер)

Частые ошибки

  • Не учитывают TTL при смене DNS — изменения могут не применяться до 48 часов
  • Путают CNAME и A-запись — CNAME нельзя использовать для корневого домена (apex)
  • Не знают о DNS-кэше браузера — chrome://net-internals/#dns для очистки
  • Хардкодят IP вместо домена — IP меняется при смене хостинга

Связанные темы

Ресурсы