5

DNS разрешает доменные имена в IP-адрес, тогда зачем нам нужен файл hosts на нашей машине с доменным именем -> IP-адрес сопоставления? Одним из недостатков является то, что IP-адрес может измениться.

Есть ли какая-то причина, почему нам нужен файл hosts?

4 ответа4

7

Есть две важные причины. Одним из них является предоставление любых локальных переопределений, которые должны иметь приоритет над DNS. Другой способ на 100% обеспечить возможность разрешения критических сопоставлений IP-адресов в условиях, когда компьютер может не иметь доступа к DNS-серверу.

Исторически файл hosts предшествовал DNS. Еще до DNS все загрузили последний файл hosts из центрального хранилища.

4

Хост-файлы использовались в те старые времена, чтобы обеспечить более простой способ обращения к хосту: вместо того, чтобы украшать номера, вы могли бы создать для него псевдоним.

Вещи стали больше, их сложно поддерживать, особенно когда были внесены изменения: вам придется обновлять файл хоста каждого компьютера в вашей сети, и могут возникнуть проблемы, когда некоторые компьютеры были обновлены, а другие - нет.

Так появился DNS и сделал все намного проще. Но никто не был обязан устранить файл хоста. Не было общего определения того, где будет расположен DNS-сервер, и не было спецификаций протоколов о том, как передавать запросы на поиск этих DNS-серверов. Таким образом, можно было использовать файл хоста, чтобы указать, где искать DNS-сервер, а затем позволить DNS-серверу обрабатывать все другие запросы, например.

Файлы хостов также могут рассматриваться как мера безопасности: они находятся под контролем системного администратора компьютера, и поэтому они считаются безопасными: тот, кто их изменяет, должен знать, что он делает. И даже в случае компрометации DNS-сервера файл hosts останется доверенным.

2

Предполагая, что вы уже прочитали ссылку в Википедии. Я бы сказал, что иметь простой текстовый файл, который вы можете использовать для указания любого домена на любой IP-адрес, вам гораздо удобнее, чем, скажем, добавлять записи на DNS-сервер. Думайте о вас как о разработчике, пытающемся сделать красивое приложение, которое подделывает example.com (или любой другой домен). Проще отредактировать файл локальных хостов и изменить имя хоста, поэтому, когда вы указываете свой браузер на поддомен, он переходит к вашему собственному приложению:

127.0.1.1 www.example.com mobile.example.com etc.example.com
1

Я уверен, что есть несколько более неясных источников для файла hosts, так как большинство современных операционных систем имеют один (* nix, BSD, Windows), однако они полезны в ситуациях, когда вам нужно переопределить опубликованный (авторитетный) DNS локальной записью для тестирования, устранения неполадок или других подобных задач.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .