在一次网络课程的听课中,我突然察觉到自己有个疑惑就是在配置一些服务的时候我们会用到localhost(127.0.0.1)或者0.0.0.0
和当前主机IP这三个。那么具体该怎么使用这三个地址,这三个地址分别代表了什么?
首先我们来讲讲127.0.0.1,172.0.0.1是本地回环地址,localhost是本地DNS解析的127.0.0.1的域名,在hosts文件里可以看到。
一般我们通过ping 127.0.0.1来测试本地网络是否正常。其实从127.0.0.1~127.255.255.255,这整个都是回环地址。这边还要
注意的一点就是localhost在IPV4的是指127.0.0.1而IPV6是指::1。当我们在服务器搭建了一个web服务器的时候,如果我们
监听的端口是127.0.0.1:端口号 的 时候,那么这个web服务器只可以在服务器本地访问了,在别的地方进行访问是不行的。
(127.0.0.1只可以在本地ping自己的,那么你监听这个就只可以在本地访问了)
然后我们来讲讲0.0.0.0,如果我们直接ping 0.0.0.0是不行的,他在IPV4中表示的是无效的目标地址,但是在服务器端它表示
本机上的所有IPV4地址,如果一个服务有多个IP地址(192.168.1.2和10.1.1.12),那么我们如果设置的监听地址是0.0.0.0那
么我们无论是通过IP192.168.1.2还是10.1.1.12都是可以访问该服务的。在路由中,0.0.0.0表示的是默认路由,即当路由表中
没有找到完全匹配的路由的时候所对应的路由。
最后讲讲本地IP, 如果我们监听的是IP的话那么只有通过监听的IP才可以访问我们的对应的服务。
以上就是我对127.0.0.1和0.0.0.0和本机IP的区别,如果有错,欢迎指出。