127.0.0.1 和 ::1 有什么区别

Whats the difference between 127.0.0.1 and ::1

几天来,我一直在努力设置从 OSX 10.10 上的 Homebrew 安装的 apache。出于某种原因,一切正常,但不是我试图通过主机文件设置的本地域。无论我在做什么,只有 http://localhost 可以通过浏览器访问。然后我改变了一件事。

最初在 /etc/hosts 中,我将此行用于设置本地域:

127.0.0.1  imac.dev

那没有用,但后来我把它改成了:

::1  imac.dev

这就是在主机文件中设置 localhost 的方式,并且有效!

谁能解释一下为什么?

第一个是IPv4地址,另一个表示IPv6本地地址。

ipv4 的环回地址

 127.0.0.1  imac.dev

ipv6 的环回本地地址

::1  imac.dev

在大多数当前操作系统中,如果启用 IPv6,则优先于 ipv4,因此这可能是您遇到该问题的原因。同样,我不得不在我的 SPF DNS 记录中使用 IPv6 IP 地址,因为 GMail 也在寻找它。所以不管我们喜不喜欢,它都受到青睐,最终将取代 IPv4。

https://en.wikipedia.org/wiki/Localhost