Что за зверь файл hosts?
Знаете ли вы, что в Интернете используются только цифровые адреса (они же IP) сайтов? А буквенные адреса web-страниц были придуманы исключительно для удобства запоминания их пользователем. Но компьютеры соединяются между собой только по цифровому IP.
Чтобы перевести непонятную компьютеру буквенную абракадабру типа
www.qsl.net в понятный ему IP адрес (в данном случае в IP 63.238.179.50) задействуется служба DNS (domane name server), которая знает о том какому буквенному имени (хосту) какой IP (цифровой) соответствует. Сервер DNS физически не один - это просто огромной длины (для всех существующих в Интернете буквенных имен) записи вида хост - IP на разных серверах (в том числе, скорее всего и на вашем провайдере).
Поэтому, когда вы набираете у себя в браузере какой-нибудь буквенный адрес (например
www.qsl.net) происходит примерно следующий диалог:
Браузер:
- Тут, эта... хозяин хочет на
www.qsl.net попасть.
Протокол TCP/IP:
- Ага, щас, разбежался. Ты мне не буквы тычь, а IP скажи машины, с которой надо соединиться.
Браузер:
-Дык я не знаю. Погоди, поищу. Так... На нашем компьютере нет ли случайно записей какому IP соответствует хост
www.qsl.net? Блин, нету. Придется у внешнего сервера DNS спрашивать. Эй, DNS-сервер, ты где? Чего молчишь?
DNS-сервер:
- Как же меня достали эти миллионы идиотов, не знающих IP... Погоди, твой запрос в очереди, перед тобой еще 500 более ранних запросов надо обработать....
Пауза....
DNS-сервер сам себе:
- Ну и где у меня написано про
www.qsl.net? Что, нигде? Точно нигде? Блин, наверное это какой-то Богом забытый буржуйский сервер. Нет у меня на него записи. Придется другие DNS- сервера спрашивать. Эй, другие DNS-сервера, вы где? Вопрос накопился.
...повторяется сценка с первым ответом DNS сервера, только в это раз велят подождать ему. Наконец, один из DNS-серверов находит у себя запись, что оказывается
www.qsl.net это IP 63.238.179.50 и возвращает эту инфу терпеливо ждущему браузеру.
Браузер:
- Фу, ну наконец. Эй TCP/IP соединяйся с IP 63.238.179.50.
TCP/IP ворчиливо:
- Ну так бы сразу и сказал. Соединяюсь. Поехали.
Оказывается, что IP можно сказать и сразу, не тратя ненужное время на опрос удаленных DNS-серверов.
Для этого в служит файл hosts (без расширения). Находится он (вернее должен находиться):
* Для Win9х/ME в каталоге С:\Windows
* Для Win NT/2000/XP в каталоге С:\Windows\system32\drivers\etc
Если вы любитель особо тонких извращений и система у вас стоит не на диске С и не в каталоге Windows, то вместо С:/Windows укажите свой диск и системную папку).
В этом файле и находятся (вернее могут находиться) записи о том, каким буквенным именам-хостам какие IP соответствуют.
При этом вышеприведенный диалог сокращается до минимума: браузер в поисках IP первым делом проверяет нет ли в файле hosts IP введенного адреса. Если он там есть - обращения к внешнему DNS серверу не происходит. То есть загрузка нужной Вам страницы начинается быстрее (на время, которое раньше терялось на соединение с внешним DNS сервером и получение от него IP.
Поэтому имеет всяческий смысл в свой файл hosts прописать IP тех сайтов, на которые вы часто заглядываете. Результатом станет заметное ускорение их загрузки. Величина выигрыша зависит от многих факторов.
Так, для очень известных сайтов (типа google.com) инфо о IP скорее всего есть на DNS сервере вашего провайдера, и потому (если провайдер сам по себе не очень тормознут) выигрыш будет небольшим - доли секунды.
Напротив, для сайтов не очень посещаемых (например, кластер OH2AQ
https://oh2aq.kolumbus.com/dxs/) средней массой юзеров, поиск нужного DNS и получение инфо от него могут занять до нескольких секунд.
Но в любом случае выигрыш есть и прописав в файл hosts часто посещаемые адреса (например, из своего "Избранного"), вы заметите что интернет стал "шевелиться" ощутимо шустрее.
Как создать hosts файл?
В любом нормальном текстовом редакторе создаете файл с именем hosts (без расширения - важно!) и помещаете его в системный каталог (см. выше куда для разных систем).
Заполняется файл hosts следующим образом:
- одна строка (до Enter) запись одного сайта,
- в строке сначала указывается IP после него пробелов несколько (неважно сколько, но минимум один быть должен и имя сайта (без https:// и без субдиректорий).
Вот отрывок из моего hosts файла:
127.0.0.1 localhost
81.176.66.163 lib.ru
63.238.179.50
www.qsl.net
81.209.184.226
www.qslnet.de
62.181.33.2 qrz.ru
193.229.80.98 oh2aq.kolumbus.com
Или же вот он целиком. Если вы его скачаете, то добавьте туда адреса часто посещаемых вами сайтов. Как узнать их IP? При помощи специально обученной этому делу узнавалки.
Что еще можно/нужно сделать с файлом hosts?
1. Можно заблокировать нежелательные сайты, назначив против их имени либо локальный IP 127.0.0.1. либо IP какого-то другого сайта. Например, по журналу вы видите, что ребенок часами просиживает на чем-то типа kiss.ru. Строка в hosts файле вида:
127.0.0.1 kiss.ru
вообще закрывает доступ к этому сайту (сообщение об ошибке при соединении).
А строка вида
81.176.66.163 kiss.ru
работает изощреннее. При наборе в браузере адреса kiss.ru будет происходить соединение с IP 81.176.66.163, т.е. с библиотекой Мошкова. Эдакий тонкий родительский намек: "Оболтус, не с девочками болтай, а книжки читай".
Кстати, последний способ (подмены соответствия хоста IP) используют и некоторые вирусы, принудительно прописывая IP всяких мусорных сайтов напротив имен самых посещаемых страниц. Чтобы избежать такого безобразия обязательно поставьте на свой файл hosts метку "read only".
2. Можно заблокировать наиболее зловредные баннерообменные сети и прочие рассадники рекламного мусора. Например строка вида:
127.0.0.1
www.bannerdrive.ru
отключит загрузку баннеров с
www.bannerdrive.ru. Определить с каких хостов грузятся ненужные вам баннеры можно покопавшись в папке временных файлов интернета (Свойства обозревателя - Общие - Параметры - Просмотр файлов).
В принципе, в интернете можно найти очень большие (до 1 МБ) файлы hosts, в которых вписаны - блокированы тысячи рекламных серверов. Но не увлекайтесь этим особо - большие (от нескольких десятков кБ) файлы hosts требуют заметного времени на их просмотр, что подтормаживает работу.
Но сильно экономить строки тоже не надо - файлы до 10 кБ ничего не тормозят даже на старых машинах, а 10 кБ - это многие сотни строк.
3. Иногда (очень редко) сайты сохраняя имя, меняют IP (скажем перевод сайта полностью на другой сервер). Случается это крайне редко (например qsl.net за 4 года сменил IP один раз), у большинства сайтов никогда. Но если все-таки случилось (а об этом всегда объявляют заблаговременно), то в файле hosts придется исправить IP со старого на новый.