четверг, 3 апреля 2014 г.

Немного о записях DNS для домена

  Случайно заглянув в список DNS-записей, я заметил, что мною любимый хостинг-провайдер Jino прописал кучу лишней информации, в том числе A-запись для любых поддоменов. А означало это, что при запросе любого произвольно набранного поддомена посетитель видел страничку хостинг-провайдера, на которой размещена реклама Яндекс.Директ. Не буду разглагольствовать на тему того, как некрасиво и низко со стороны хостинг-провайдера так поступить, лучше сразу перейду к сути решения данной проблемы.

  Настройка программного обеспечения да и всё остальное, что связано с сервером, - это задачи системного администратора, но среди моих знакомых, к сожалению, их нет. Поэтому пришлось обратиться к Google, почитать о NS-записях и немного подумать. Ну, обо всём по-порядку.

  Во-первых, помимо нужной A-записи, указывающей на адрес сервера, где расположен сайт, и двух NS-записей, указывающих на DNS-сервера, где находится информация о домене, в списке были ещё несколько A-записей, CNAME-запись и MX-записи. Поскольку почту для домена я не использую, MX-записи я удалил первым делом.

  Во-вторых, мне очень не понравилось, что хостинг-провайдер на своё усмотрение создал A-запись для любых поддоменов (*). На мой взгляд, плохо, если при запросе произвольной страницы (поддомена) отдаётся отличный от 404 код. Как минимум, это вводит в заблуждение: то ли здесь располагается сайт, который временно недоступен, то ли сервер неправильно сконфигурирован, то ли это частица одного большого проекта, над которой в данный момент трудятся разработчики. Стало быть, запись эту я также удалил.

  В-третьих, с непонятной мне целью в списке DNS-записей красовалась CNAME-запись, которая вела на smtp.jino.ru, а там, в свою очередь, отображалась тестовая страница веб-сервера Apache. В таким же удовольствием можно собрать все закладки в моём браузере и создать для них отдельные CNAME-записи с поддоменами моего домена. Но в этом случае для меня, владельца домена, была бы хоть какая-то польза, в отличие от перенаправления на какую-то тестовую страничку.

  От мусора избавились, A-запись с IP-адресом сервера осталась, всё прекрасно. Однако спустя несколько минут я заметил, что сайт перестал загружаться, как будто бы домена не существует. Оказалось, всё просто: при обращении к сайту веб-сервер перенаправляет посетителя на адрес с www, но в системе доменных имён есть информация только о домене без этого префикса.

  Ранее, оказывается, при обращении к сайту www.example.com компьютер-клиент получал запись *.exapmle.com и обращался к указанному в этой записи серверу. Я её удалил, поэтому компьютер-клиент более не знает о существовании каких-либо адресов, за исключением example.com. И тут начинается самое интересное.

  Чтобы заявить о существовании адреса с префиксом www, можно пойти двумя путями: создать CNAME-запись и создать A-запись. Это кардинально различающиеся типы записей, но в данном случае обе они дадут одинаковый результат. Отсюда и вопрос: запись какого типа лучше создать? На мой взгляд, запись типа A, указывающую на адрес сервера.

  Когда пользователь набирает адрес сайта в строке браузера и жмёт Enter, его компьютер обращается к системе доменных имён, чтобы узнать IP-адрес сервера, на котором располагается запрашиваемый сайт. Если в ответ компьютер получает доменное имя, как происходит в случае с CNAME-записью, компьютер вновь обращается к системе доменных имён и запрашивает информацию о полученном домене. Словно так, как заблудившийся в лесу ищет выход по засечкам на деревьях.

  Как только ответ компьютером пользователя будет получен, произойдёт соединение с сервером, где расположен сайт. Дополнительные запросы к DNS-серверам являются лишними, так как на них необходимо дополнительное время, а дополнительное время - это плюс к времени ожидания ответа пользователем. Запись типа A избавляет от подобных лишних шагов: получив ответ от системы доменных имён, компьютер-клиент уже знает, куда нужно обратиться, а дальше дело остаётся только за сервером, отдающим посетителям веб-странички.

  Стало быть, прописывая A-запись вида www.example.com и IP-адрес сервера в качестве её значения, мы позволяем сэкономить на запросах к DNS-серверам пусть и измеряющееся в миллисекундах, но всё-таки время. Так что, если есть возможность использовать A-запись для псевдонима вашего домена вместо CNAME-записи, лучше её использовать.

Комментариев нет:

Отправить комментарий