Просто о работе доменных имен.
Доменные имена – основной способ адресации в интернете, наиболее широко применяющийся для доступа к сайтам. Данный подход настолько прост и логичен, что к нему моментально привыкает даже человек, впервые оказавшийся за компьютером. Доменное имя хорошо воспринимается, его легко запомнить, ввести вручную или продиктовать по телефону. Данный механизм удобен для человека, но в компьютерном мире вся адресация производится посредством IP-адресов, двоичная структура которых позволяет моментально находить физическое расположение сервера.
Как работает доменная адресация в интернете
Поскольку доменное имя ничего не говорит о физическом местонахождении сайта, существует целая сеть специальных DNS-серверов, основная задача которых – трансляция адресов из «человеческой» формы в «машинную». Каждый зарегистрированный домен может быть однозначно преобразован в 4-байтный адрес формата IPv4. Одному IP-адресу может соответствовать несколько доменов, но не наоборот. Это позволяет держать на сервере несколько сайтов, не выделяя каждому отдельный IP.
Регистрация доменного имени в службах DNS – задача владельца домена (как правило, эту работу за него делает регистратор, но в панели обычно имеется возможность внести коррективы самостоятельно). Единой базы данных доменов не существует, их обслуживанием занимаются тысячи серверов, постоянно обменивающихся информацией между собой. Сервер, отвечающий за доменную зону RU, обслуживает домены второго уровня, расположенные в этой зоне, но не имеет отношения к доменам третьего уровня.
Как браузер находит сайт по имени
Алгоритм взаимодействия браузера с сайтами через доменные имена выглядит следующим образом:
- Определяется адрес подходящего DNS-сервера (он обычно прописан в настройках сети на компьютере и может быть изменен пользователем вручную).
- Определяется протокол. Обычно это HTTP или HTTPS, иногда через браузер подключаются к FTP и прочим web-сервисам. Если протокол не задан принудительно, браузер выбирает HTTP – протокол передачи гипертекста.
- Производится запрос к DNS-серверу, который возвращает реальный IP-адрес сайта. Если доменное имя не зарегистрировано, сервер возвращает ошибку. В определенных случаях может происходить переадресация на «заглушку» (например, если запрошенный ресурс по каким-то причинам заблокирован провайдером).
- Браузер обращается к серверу, на котором находится сайт, посредством GET-запроса. Получив запрос, сервер проверяет, есть ли в его распоряжении указанный домен и запрошенная страница. Далее браузеру направляется ответ, содержащий страницу и специальный код (если всё в порядке, код ответа – 200).
- Получив страницу, браузер запрашивает у сервера все дополнительные ресурсы, необходимые для корректного отображения, и выводит результат на экран. Некоторое время браузер хранит IP-адрес в кэше и не делает лишних DNS-запросов, если пользователь продолжает изучать сайт.
Чтобы браузер пользователя мог находить ваш сайт, информация о его фактическом местонахождении на конкретном сервере должна быть передана DNS-серверу. Владелец сайта может самостоятельно позаботиться об этом, но базовые настройки обычно прописываются автоматически (если вы приобретаете доменное имя и хостинг у одного провайдера). При этом регистратор обязан предоставлять вам возможность самостоятельно редактироваться информацию домена. Доступ к NS-записям сайта может потребоваться в самых разных ситуациях: от подключения почтового сервера на стороннем IP-адресе до экстренного переноса сайта в случае аварии на линии.