URL - доменные имена

Погружаемся глубже в URL. Из чего он состоит, что он него следует ожидать. Попытаемся разобраться зачем нужны регистраторы доменных имен. Что там за домены такие вообще с уровнями. Почему это важно.

URL - доменные имена
URL - доменные имена

Для страниц в интернете необходимо иметь название, идентификатор, URL. Ранее этот термин упоминался как указатель на ресурс. В интернете часто можно видеть ссылки на различные ресурсы. По тому как выглядит эта ссылка можно сделать предположения куда она ведет.

Само понятие URL стандартизировано и уточнено, но на деле зачастую многие путают понятия URI и URL . В целом почти всегда под URL имеется ввиду именно URI, но кажется, это не так важно для веб разработки в целом.

Анатомия URL

Если говорить о URL сайта то хороший URL должен состоять из схемы, хоста, порта, пути, запроса и якоря. У всех этих частей есть английские более распространенные названия. Часть “запрос” называют квери (query), путь паф (path), “якорь” хеш решетка (# NUMBER SIGN ).

Под схемой в вебе зачастую подразумевают протокол. Часто это бывает http или https реже это android-app и file, но в принципе там может быть любой набор букв и тире. В общем случае схема дает понять клиенту URL о том каким образом можно получить данные от той стороны на которую ведет ссылка. В данном случае мы будем использовать схему https. Поскольку ее предоставляет сервис GitHub для своего бесплатного хостинга.

Далее следует самая интересная часть хост. Хост из себя представляет набор букв и цифр разделенных через точку. Его принято читать с конца. Например рассмотрим хост URL’а из статьи про gitHub

https://c649160.github.io/staticpage/

Здесь хостом будет строка “c649160.github.io”. Рассматривая такие строки с конца можно выделить уровни. В данном случае первый уровень будет определен как io, затем github как второй уровень, потом c649160 как третий. Итого у нас 3 уровня. Такой хост будет включать в себя “домен” 3 уровня.

Дополнительно в хосте еще можно указать цифры которые будут означать некий порт, но не будем сейчас заострять внимание на том зачем он нужен. Порт указывается после домена через “:” знак двоеточия. В нашем случае порт бы выглядел как c649160.github.io:443, но обычно порт не пишут, а подразумевают, что будет использоваться порт по умолчанию. Для схемы http это будет 80 для https 443.

Domain - доменное имя

Хотелось бы поподробнее рассмотреть термин “домен”. Каждый уровень доменов является неким пространством имен. Исторически сложилось так, что домены первого уровня в интернете не являются самодостаточными, то есть вы не сможете посетить домен ru или com, net многие из этих доменов являются “высшими”.

Интересно, что не все “высшие” домены являются доменами первого уровня. Существуют так же и “высшие” домены 2 уровня, например Австралийские “.com.au “, которые тоже являются лишь пространством имен, а не самостоятельными адресами.

В тоже время не все домены первого уровня являются “высшими” есть как минимум одно исключение в виде домена localhost. Этот домен является указателем на текущую машину.

Для “высших” доменов существует специальный широко распространенный термин TLD, от английского top level domain.

TLD

Домен играет очень важную роль в плане контроля со стороны регуляторов на сеть. Так как домены в интернете является субдоменами TLD то и контроль на TLD доменами очень важен для регуляторов. И что бы получить уникальный домен как минимум второго уровня придется обратиться к регистратору который в свою очередь уполномочен регистрировать субдомены этого TLD.

Исторически TLD в основном разграничивали различные национальные группы ru, by, ua, uk … Но сегодня все чаще стали появляться TLD на определенные темы или посвященные брендам различных больших корпораций.

IPv4 IPv6 - хосты

Соответственно покупка или выбор из бесплатных доменов это не обязательное условие для создания URL ссылок на свой проект. Так же URL предусматривает использование IP адресов вместо доменных имен. В этом случае нужно будет предусмотреть дополнительные настройки сервера на той стороне, но в целом работа без домена удобна скорее для разработки нежели для реальных проектов. Так как ip адрес в сети интернет используется совсем для других целей нежели доменное имя.

Для того что бы обратиться к сайту по IP адресу достаточно написать набор цифр если это IPv4 адрес или если это IPv6 адрес необходимо писать его в квадратных скобках - [] так как он содержит буквы как и обычные домены. Примеры:

1. http://194.87.96.204/
2. http://[1080::8:800:200c:417a]/index.html

1 - URL построенное с помощью IPv4 адреса машины. 2 - URL построенное с помощью IPv6 адреса машины