#хостинг #домен
Несмотря на свою деятельность в веб-разработке, пока ещё не достиг глубокого понимания
сущности интернета и этот вопрос - один из шагов на пути к осмыслению.
В Википедии, в статье "Интернет" среди юридических аспектов и общих свойств интернета
приведено:
У Интернета нет собственника, так как он является совокупностью сетей,
которые имеют различную географическую принадлежность.
Если это прочитает человек, не имевший ранее дело с интернетом, он наверняка может
прийти в выводу, что всё, что нужно для опубликования своего сайта в интернет - подключённый
к интернету компьютер и никаких хостинговых компаний и регистраторов доменных имён.
Насколько я уже знаю, для того, чтобы начать "транслировать" свой сайт в интернет,
нужно открыть 80-ый порт (например, с помощью веб-сервера Apache, который является
ПО). Конечно, безопасность персонального для компьютера такой трансляции - уже другой
вопрос. Но что представляет собой технически покупка доменного имени? Почему мы не
можем присовить произвольное доменное имя своему сайту хотя бы в пределах некоторых
доменных зон и транслировать его со своего компьютера под этим доменным именем? Выходит,
у интернета всё-таки есть собственник, который наделяет правом регистраторов доменов
продавать эти доменные имена?
Ответы
Ответ 1
Собственника у Интернета нет, но есть координатор. Исторически сложилось так, что
координатором является ICANN.
Почему же мы не можем просто так взять произвольное имя? Потому что это имя должно
быть известно всем и однозначно разрешаться в IP-адрес компьютера. Для этого служит
DNS. И именно за внесение записи в эту глобальную для всего мира таблицу соответствия
имён и IP-адресов вы и платите при покупке доменного имени.
Можно ли не платить? Можно. Например, можно вписать соответствие имени и IP в локальный
файл hosts. Но тогда сайт будет доступен только с тех компьютеров, где мы этот файл
изменили. Можно поднять свой собственный DNS-сервер, на котором указать наше имя и
использовать этот сервер для всех компьютеров, которым нужен наш сайт. Но вряд ли произвольный
пользователь в Сети согласится на это. К тому же, если каждый сайт сделает такой сервер,
то для клиента будет абсолютно неудобно этот адрес DNS-сервера постоянно переписывать.
(Но это хорошее решение для внутренних сетей организаций.) Поэтому большинство предпочитает
заплатить и не мучиться.
Есть ещё один способ получить имя бесплатно. Надо найти того, кто уже купил имя второго
уровня (или более низкого), например, example.org, договориться с ним и попросить внести
запись более низкого уровня, например, vasya.example.org. Это можно сделать, поскольку
владелец домена может прописывать любые записи для всех поддоменов.
Ответ 2
Технически, для сайта и правда достаточно подключенного к интернету компьютера с
открытым портом. Вот только на такой сайт посетителям придется ходить по IP-адресу.
А IP-адрес, вообще говоря, является собственностью провайдера и может быть изменен.
В этом случае придется как-то рассказывать всем посетителям свой новый адрес.
Замечание. Вообще говоря, существует возможность приобрести себе постоянный IP-адрес
- но это доступно только юридическим лицам и будет стоить дороже доменного имени.
Один из способов подобного "рассказа" - это DNS. Служба, которая преобразует те самые
доменные имена в IP-адреса. Право создавать домены второго уровня имеют регистраторы.
Вот им-то и надо платить за домен.
После покупки доменное имя становится вашим - пока вы за него платите. В частности,
это означает что никто без вашего ведома не может отобрать его у вас (кроме как через
суд в некоторых случаях).
Владея доменов второго уровня вы можете создавать любое число доменов третьего и
ниже уровней бесплатно. Иногда для этого надо поднимать свой DNS-сервер и открывать
53й порт, иногда не надо (зависит от регистратора).
Существуют также сервисы, раздающие бесплатные доменные имена третьего уровня. Но,
вообще говоря, вашими такие доменные имена также не являются.
Технически покупка доменного имени заключается в том, что вы платите регистратору
за то, что он внесет запись о соответствии некоторого имени вашему IP-адресу в некоторый
общий список.