Skip to content

Instantly share code, notes, and snippets.

@zxhfighter zxhfighter/localhost.md
Last active Aug 21, 2019

Embed
What would you like to do?
127.0.0.1 和 0.0.0.0 的区别

127.0.0.1、localhost、0.0.0.0、本机IP地址

localhost

首先,localhost 就是一个域名,域名指向 127.0.0.1,两者是一样的,如果是 mac,可以在 /etc/hosts 文件中看到这一行。

127.0.0.1     localhost

127.0.0.1

127.0.0.1 这个地址通常分配给 loopback 接口,用来测试本机的 TCP/IP 协议栈。loopback 是一个特殊的网络接口(可理解成虚拟网卡),用于本机中各个应用之间的网络交互。只要操作系统的网络组件是正常的,loopback 就能工作。

0.0.0.0

这个 IP 相当于 java 中的 this,代表当前设备的 IP,可以代表本机的所有 IP 地址。

比如你的一个 tomcat 配置文件中,如果监听的 IP 地址设置了 0.0.0.0,就表示你的这个 tomcat 服务器监听在你本机的所有 IP 地址上,通过任何一个 IP地址 都可以访问到。

如果你本地的 IP 地址有 192.168.1.10,172.16.2.10,那么访问你这个 tomcat 就可以。 http://192.168.1.10:8080/,http://172.16.2.10:8080/ 都可以访问。

如果你的监听地址设置了 192.168.1.10 ,那么将无法通过 http://172.16.2.10:8080/ 进行访问。

本机 IP

至于本机 IP,你可以理解为本机有三块网卡,一块网卡叫做 loopback(这是一块虚拟网卡),另外一块网卡叫做 ethernet (这是你的有线网卡),另外一块网卡叫做 wlan(这是你的无线网卡)。

你的本机 IP 是你真实网卡的 IP,具体来说有线无线各有一个,而 127.0.0.1 是那块叫做 loopback 的虚拟网卡的 IP。

192.168.1.1

192.168.1.1 是一个 C 类 IP 地址,可以是局域网内任何一台主机,看你的路由器把这个地址分配给了谁。

@RitterHou

This comment has been minimized.

Copy link

commented Apr 12, 2019

大佬牛逼!!!给大佬递茶

@120534

This comment has been minimized.

Copy link

commented Aug 21, 2019

👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.