2

Я отключил все свои сетевые подключения и удалил 127.0.0.1 localhost в файле HOSTS, но не могу найти то, что я сломал им. Мой IIS и MS SQL Server 2008 R2 продолжает разрешать localhost просто отлично

Почему файл HOSTS всегда содержит 127.0.0.1 localhost ?
Что я сломал, удалив эту запись?

Я нахожусь на Windows XP Pro SP3, пишу здесь все еще без localhost в файле HOSTS.
Должен ли я положить его обратно и как быстро?


Причины интереса многократно - например:


------ ОБНОВЛЕНИЕ05:

Я не меняю вопрос! Я добавляю обновления. Могу ли я попросить прекратить удалять и редактировать его, пока не напишу, что я его ловил? Например, сейчас я написал один и тот же комментарий во всех постах, посвященных одной и той же теме.

В этом суть моего вопроса / сомнения - что DNS не имеет никакого смысла в отношении имен "localhost" или "127.0.0.222" или "(local)", синонимов, псевдонимов, ссылок, адресов, идентификаторов, токенов, без разницы.

Они представляют собой сотни синонимов для одной и той же сущности и являются внутренними, и Windows знают об этом без каких-либо разрешений, так как нет смысла делать различие между таким количеством синонимов!

Они связаны с внутренними компьютерными механизмами, в то время как DNS является внешним (между различными компьютерами). Как внутренние идентификаторы могут зависеть от внешних?

Все Windowses (включая Home Editions) будут иметь внутренний DNS-сервер, чтобы функционировать? а затем повторить его, когда / если подключен к сети?

Ну, ссылка на комментарии не появилась в разделе «Связано», как мне сказали.

Я раздвоил дочерний вопрос:
https://stackoverflow.com/questions/3536351/is-localhost-host-resolved-to-127-0-0-1

3 ответа3

13

Файл hosts просто связывает канонические или полностью определенные имена с IP-адресами.

Например, я мог бы иметь:

127.0.0.1  moes-bar-and-grill

Тогда все, что подключается к moes-bar-and-grill , установит соединение с устройством обратной связи ( 127.0.0.1 , обычно разрешаемым как localhost .

Я мог бы также (и это довольно часто)

127.0.0.1  annoying-ad-server.com

Приложения продолжают работать, потому что они будут подключаться к 127.0.0.1 (который по-прежнему является настроенным интерфейсом), если localhost не разрешается.

Я не уверен, почему вы захотите отключить адрес обратной связи, но простое localhost из файла хоста этого не сделает.

редактировать

Хорошо написанное программное обеспечение сделает несколько попыток решить что-либо (решение в смысле обхода проблем, без каламбура), прежде чем оно просто умрет, а в некоторых случаях будет продолжать работать, даже если все будет не так, как ожидалось. Это не означает, что программное обеспечение будет работать так, как рекламируется, это лишь означает, что оно было написано очень защитным программистом.

Очень оборонительный подход не всегда означает полезность, когда речь идет о том, чтобы сообщить пользователю о существовании серьезных проблем, например о localhost не решается. Я могу написать материал, который проходит тесты независимо от того, что пользователь делает с их системой, но это ничего не делает, чтобы продвинуть причину: «Это не сработает!». Существует разительная разница между его запуском, и он работает, и вы будете изучать разницу между ними с течением времени с каждой запущенной программой.

Хотя кажется, что все работает, сейчас, я думаю, вы можете столкнуться с проблемами позже.

Отказ от ответственности: я пишу программное обеспечение для жизни.

3

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

Удаляя строку, вы останавливаете Windows, принимая "localhost" и сопоставляя ее с «127.0.0.1».

Я могу думать о двух причинах, почему вы видите, что это "работает".

  1. Вы не перезагрузили компьютер, поэтому отображение все еще находится в памяти.
  2. Приложения, в которых вы пробовали это сделать отображение для вас.

Пока применяется № 2, он вам не нужен, но если вы будете использовать приложение, которое не выполняет сопоставление для вас, оно потерпит неудачу.

Итак, в итоге вы должны поставить линию обратно. Тем не менее, вам не нужно делать это в срочном порядке.

0

Я считаю, что Windows знают наизусть и 127.0.0.1 и localhost (и даже больше синонимов самих себя). И, возможно, ответ, что он даже ничего не решает внутри.

Я посмотрю после перезагрузки, если он потерял способность разрешать localhost

Но с чего бы это?
Какой в этом смысл?

MS SQL Server разрешается (соединяется через) не только через имя localhost , но также через (local) и . (односимвольная точка).

Итак, localhost - это просто удобство (писать буквы вместо цифр и точек).
Преобразование из localhost в 127.0.0.1 глупо
потому что я никогда не слышал, чтобы цифровые адреса (номера) преобразовывались в имена, которые затем будут использоваться компьютерами для внутреннего использования.

Теперь я могу подключиться к своему локальному MSSQLServer не только по 127.0.0.1 (или localhost), но и через любой адрес в диапазоне от 127.0.0. * (Например, я проверил сейчас, подключившись к локальному MSSQLServer через 127.0.0.2)

Хотя, если это так, WTF это запись HOSTS?

Спасибо Тиму Посту за то, что он направил меня в правильное русло и вывел меня из смятения.

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