Опубликовано 10.06.2019
Файл hosts

hosts — текстовый файл, содержащий базу данных доменных имен и используемый при их трансляции в сетевые адреса узлов.

Запрос к этому файлу имеет приоритет перед обращением к DNS-серверам. В отличие от системы DNS, содержимое файла контролируется администратором компьютера.

Историческая справка

В семидесятых годах сеть ARPAnet представляла собой тесное сообщество из нескольких сотен узлов. Всю информацию по узлам, в частности необходимую для взаимных преобразований имен и адресов узлов ARPAnet, содержал единственный файл HOSTS.TXT. Известная UNIX-таблица узлов, /etc/hosts, прямо унаследовала свою структуру от файла HOSTS.TXT (в основном с помощью удаления ненужных на UNIX-системах полей).

За файл HOSTS.TXT отвечал Сетевой информационный центр (NIC, Network Information Center) Стэнфордского исследовательского института (SRI, Stanford Research Insitute). В тот период времени единственным источником, распространявшим файл, являлся узел SRI-NIC.1 Администраторы ARPAnet, как правило, просто посылали изменения электронной почтой в NIC и периодически синхронизировали свои файлы HOSTS.TXT с копией на узле SRI-NIC с помощью протокола FTP.

Присылаемые ими изменения добавлялись в файл HOSTS.TXT один или два раза в неделю. Однако по мере роста сети ARPAnet эта схема стала неработоспособной. Размер файла рос пропорционально количеству узлов ARPAnet. Еще быстрее рос информационный поток, связанный с необходимостью обновления файла на узлах: появление одного нового узла приводило не только к добавлению строки в HOSTS.TXT, но и к потенциальной необходимости синхронизации данных каждого узла с данными SRI-NIC.

В 1984 году были изданы документы RFC 882 и 883, в которых описывалась система доменных имен (Domain Name System, или DNS) пришедшая на замену HOSTS.TXT, а использование файла hosts теперь является необязательным и скорее дополнительным инструментом при работе с сетью.

Расположение файла

В Unix-подобных системах файл располагается в /etc/hosts.

В операционых системах семейства Windows NT (2000, XP, 2003, Vista, 7, 8, 10) он располагается в %SystemRoot%\system32\drivers\etc\hosts.
%SystemRoot% - это путь до системной папки, обычно C:\Windows.

Содержание файла

IP-адреса и названия доменов разделены символами табуляции. Комментарии начинаются знаком «#» (решётка). Пустые строки игнорируются.

Обычно файл включает в себя определение расположения узла localhost.

127.0.0.1   localhost

Использование

Файл hosts можно использовать для ускорения определения определенных доменных имен, или использовать для отладки сайта напрямую без использования промежуточных шлюзов (например CloudFlace).

Кроме того, с помощью файла hosts возможно осуществлять фильтрацию рекламы путём перенаправления доменных адресов баннеров на адрес 127.0.0.1.

Файл hosts так же отлично подходит для записи в него IP-адресов серверов для удобства работы с ними.

Сеть 44