vivatoviva / Interview-Frontend-2020

欢迎star、在对应的ussues沉淀知识
17 stars 2 forks source link

127.0.0.1和0.0.0.0的区别 #57

Open vivatoviva opened 5 years ago

vivatoviva commented 5 years ago

文章地址:https://juejin.im/post/5d258b6ae51d454f73356dcf

0.0.0.0

IPV4中,0.0.0.0地址被用于表示一个无效的,未知的或者不可用的目标。

在服务器中,0.0.0.0指的是本机上的所有IPV4地址,如果一个主机有两个IP地址,192.168.1.1 和 10.1.2.1,并且该主机上的一个服务监听的地址是0.0.0.0,那么通过两个ip地址都能够访问该服务。

在路由中,0.0.0.0表示的是默认路由,即当路由表中没有找到完全匹配的路由的时候所对应的路由。

用途总结

127.0.0.1

127.0.0.1属于{127,}集合中的一个,而所有网络号为127的地址都被称之为回环地址,所以回环地址!=127.0.0.1,它们是包含关系,即回环地址包含127.0.0.1。 回环地址:所有发往该类地址的数据包都应该被loop back。 用途

localhost

相比127.0.0.1,localhost具有更多的意义。localhost是个域名,而不是一个ip地址。之所以我们经常把localhost与127.0.0.1认为是同一个是因为我们使用的大多数电脑上都讲localhost指向了127.0.0.1这个地址。 在ubuntu系统中,/ets/hosts文件中都会有如下内容:

127.0.0.1   localhost
127.0.1.1   jason-Lenovo-V3000
# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

复制代码上面第一行是几乎每台电脑上都会有的默认配置。 但是localhost的意义并不局限于127.0.0.1。 localhost是一个域名,用于指代this computer或者this host,可以用它来获取运行在本机上的网络服务。 在大多数系统中,localhost被指向了IPV4的127.0.0.1和IPV6的::1。

127.0.0.1    localhost
::1          localhost

复制代码所以,在使用的时候要注意确认IPV4还是IPV6