为什么在 HOSTS 文件中需要“127.0.0.1 localhost”?

Gen*_*нин 2 networking windows hosts

我禁用了所有网络连接127.0.0.1 localhost在 HOSTS 文件中删除 ,但找不到我破坏的内容。我的IIS和MS SQL Server 2008 R2继续解决localhost就好了

为什么 HOSTS 文件总是包含127.0.0.1 localhost?
删除此条目我破坏了什么?

我在 Windows XP Pro SP3 上写在这里仍然没有主机文件中的本地主机。
我应该把它放回去,多快?


感兴趣的原因有很多 - 例如:


------更新05:

我没有改变问题!我添加更新。我可以要求停止删除和编辑它,直到我写下我用它钓鱼吗?例如,刚才我在所有针对同一点的帖子中写了相同的评论。

这是我的问题/怀疑的本质 - DNS 对“localhost”或“127.0.0.222”或“(本地)”名称、同义词、别名、链接、地址、ID、令牌没有任何意义,任何。

它们是同一个实体的数百个同义词,它们是内部的,Windows-es 无需任何解析就知道它,因为在这么多同义词之间解析是没有意义的!

它们与内部计算机机制有关,而 DNS 是外部的(在各种计算机之间)。内部 ID 如何依赖外部 ID?

所有 Windows(包括家庭版)都将具有内部 DNS 服务器才能正常运行?然后在/如果连接到网络时复制它?

好吧,正如我被告知的那样,来自评论的链接没有出现在链接部分。

我分叉了一个子问题:https ://stackoverflow.com/questions/3536351/is-localhost-host-resolved-to-127-0-0-1

Tim*_*ost 13

hosts 文件只是将规范名称或完全限定名称与 IP 地址相关联。

例如,我可以有:

127.0.0.1  moes-bar-and-grill
Run Code Online (Sandbox Code Playgroud)

然后任何连接到的东西moes-bar-and-grill都会建立到环回设备的连接,也就是127.0.0.1通常解析为localhost.

我也可以(这很常见)

127.0.0.1  annoying-ad-server.com
Run Code Online (Sandbox Code Playgroud)

应用程序继续工作,因为如果localhost没有解析,它们将连接到 127.0.0.1(它仍然是一个配置/启动接口)。

我不确定您为什么要禁用环回地址,但仅取出localhost 主机文件不会这样做。

编辑

编写好的软件会在它死之前不止一次地尝试解决任何问题(在解决问题的意义上解决,没有双关语),并且在某些情况下,即使事情不像预期的那样,它也会继续运行。这并不意味着该软件会像宣传的那样工作,这仅意味着它是由一个非常防御性的程序员编写的。

在告诉用户存在严重问题(例如localhost无法解决)时,非常防御并不总是意味着有帮助。我可以写一个经过测试,无论东西一个用户做他们的系统,但无助于促进事业“这是不行的!”。它的运行工作之间存在明显的差异,并且随着时间的推移,您只会在运行的每个程序中探索两者之间的差异。

虽然一切似乎都奏效了,但我认为你以后可能会遇到麻烦。

免责声明:我以编写软件为生。