DNS: телефонная книга интернета
Понимаем, зачем нужен DNS и как имена сайтов превращаются в IP-адреса.
DNS (Domain Name System) — распределённая система, которая превращает понятные людям доменные имена (
example.com) в IP-адреса (93.184.216.34), нужные машинам.
Зачем нужен DNS
Компьютеры общаются по IP-адресам, но человеку запомнить 142.250.185.78 вместо google.com невозможно. DNS — это «телефонная книга» интернета: вы говорите имя, она возвращает адрес. Без DNS пришлось бы помнить числа для каждого сайта.
Есть и вторая важная причина: гибкость. IP-адрес сервера может смениться (переезд, балансировка, CDN), а имя example.com остаётся прежним — меняется лишь запись в DNS. Имя — это стабильный уровень косвенности поверх изменчивых адресов.
Иерархия доменных имён
Имя читается справа налево, от общего к частному:
www . shop . example . com .
| | | | |
хост поддомен домен TLD корень (.)
| Часть | Что это |
. (корень) | вершина иерархии, корневые серверы |
com | домен верхнего уровня (TLD): com, org, ru… |
example | домен второго уровня (его вы регистрируете) |
shop | поддомен |
www | имя конкретного хоста |
Распределённость — ключевая идея
Не существует единого сервера со всеми именами мира — это было бы узким местом и единой точкой отказа. Вместо этого ответственность делегируется по иерархии:
- Корневые серверы знают, кто отвечает за каждый TLD (.com, .ru, .org).
- Серверы TLD знают, кто отвечает за домены внутри (кто обслуживает
example.com). - Авторитетные серверы домена знают конкретные записи (
www.example.com → 93.184.216.34).
Так нагрузка размазана по тысячам серверов по всему миру, и нет единой точки, падение которой обрушит всё.
Где это видно веб-разработчику
- Когда вы покупаете домен и «направляете» его на сервер — вы редактируете DNS-записи.
- «Домен ещё не прогрелся» — это про кэширование DNS (разберём в следующем уроке).
- Переезд на новый хостинг — это смена IP в DNS-записи, имя остаётся.
Итог
- DNS превращает доменные имена в IP-адреса.
- Имя даёт стабильность: IP может меняться, имя — нет.
- Имена иерархичны: корень → TLD → домен → поддомен → хост.
- Система распределённая: ответственность делегируется, нет единой точки отказа.