Networking 127.0.0.1、0.0.0.0和localhost有何不同?

Networking 127.0.0.1、0.0.0.0和localhost有何不同?,networking,ip,localhost,hosts,hosts-file,Networking,Ip,Localhost,Hosts,Hosts File,我不理解这些术语之间的区别以及它们之间的联系 我查看了我计算机上的一个hosts文件,可以看到127.0.0.1和localhost是连接在一起的,但不确定如何连接,我不知道0.0.0.0适合于所有这些 我已经看到了这个问题的其他答案,但我是一个新手,其他关于环回和元地址的答案不容易理解。是的,在您的本地系统上,localhost会转换为127.0.0.1,这将始终是您当前使用的机器的IP地址。例如,在您的计算机上,访问127.0.0.1(或localhost)只会尝试打开与您自己的计算机的连接

我不理解这些术语之间的区别以及它们之间的联系

我查看了我计算机上的一个hosts文件,可以看到127.0.0.1和localhost是连接在一起的,但不确定如何连接,我不知道0.0.0.0适合于所有这些


我已经看到了这个问题的其他答案,但我是一个新手,其他关于环回和元地址的答案不容易理解。

是的,在您的本地系统上,
localhost
会转换为127.0.0.1,这将始终是您当前使用的机器的IP地址。例如,在您的计算机上,访问127.0.0.1(或localhost)只会尝试打开与您自己的计算机的连接(如果您托管的是本地web服务器,则很有用)


同时,它有不同的用途。在服务器或任何具有1个以上ip地址的计算机上,它可用于引用该计算机使用的所有ip地址。例如,如果使用
serverSocket
创建一个简单的java应用程序,您可能希望服务器套接字侦听所有服务器IP地址上的传入连接。然后将服务器套接字设置为侦听0.0.0.0。希望这有帮助

整个
127.0.0.0/8
块中的任何地址都将在计算机内部循环发送的通信量

Localhost通常设置为
127.0.0.1
,但可以在
127.0.0.0/8
块中的任何地址上设置


0.0.0.0
地址实际上意味着任何IPv4地址。

localhost可以设置为任何地址。它是在DNS解析程序首先查找的文件主机中定义的。这是正确的,但它不是实际的本地主机。它将尝试将流量发送到本地主机以外的其他地方。多亏了这一点,我想人们使用这些工具的最常见原因是在自己的机器上开发和测试网站和应用程序?
localhost
127.0.0.1
仅用于传出连接
0.0.0.0
仅用于侦听(也称为“绑定”)连接,是一个通配符,表示“侦听此计算机上的所有网络接口”。如果您只有一个网络接口(即一个以太网端口或一个Wi-Fi连接),它们看起来是相同的,但一旦您有多个连接,就会产生不同。