.../hosts
中定义如下内容:127.0.0.1 localhost
如果本地运行的进程正在监听连接,使用 127.0.0.1
和 localhost
作为服务器名称时,有什么实际差异吗?
.../hosts
中定义如下内容:127.0.0.1 localhost
如果本地运行的进程正在监听连接,使用 127.0.0.1
和 localhost
作为服务器名称时,有什么实际差异吗?
最有可能的区别在于您仍然需要在某个地方实际进行查找localhost
。
如果您使用127.0.0.1
,那么(智能)软件将直接将其转换为IP地址并使用它。一些gethostbyname
的实现将检测到点格式(和可能的IPv6格式),并且根本不进行查找。
否则,名称必须得到解析。而且不能保证您的hosts
文件将用于该解析(首先还是后来),因此localhost
可以变成完全不同的IP地址。
我所指的是,在某些系统上,本地hosts
文件可能会被绕过。在Linux(和许多其他Unix系统)上,host.conf
文件控制着这一点。
/etc/nsswitch.conf
会选择首先使用主机查找的hosts
或DNS。 - Mark Lakata在现代计算机系统中,localhost作为主机名会被解析成一个IPv4地址,该地址属于127.0.0.0/8(本地回环)网络地址空间,通常是127.0.0.1,或者在IPv6中是::1。
唯一的区别是它会在系统的 DNS 中查找 localhost
的解析结果。这个查询非常快速。例如,要访问 stackoverflow.com
,你在地址栏中输入了这个网址(或使用了一个书签来指向这里)。无论哪种方式,你都是通过一个主机名来到这里的。 localhost
提供了类似的功能。
嗯,根据 IP 是更快的。
基本上,当您通过服务器名称进行调用时,它将转换为原始 IP。
但是,要记住 IP 会很困难,因此创建了域名。
个人使用 http://localhost
而不是 http://127.0.0.1
或 http://username
。
localhost
的方式,这与其他应用程序查找localhost
的方式可能不同。 - William Denniss没有什么不同。一个比另一个更容易记住。通常,您定义一个名称与IP地址相关联。您不必为127.0.0.1指定localhost,您可以指定任何想要的名称。
localhost
Тў»тЇЈУ««ТЌатЁ│уџё№╝їIPv4тњїIPv6жЃйтЈ»С╗ЦСй┐ућесђѓ - Steve-olocalhost
视为安全来源,而127.0.0.1
则不被视为安全。 - user10833119