0.0.0.0、127.0.0.1和localhost之间的区别
0.0.0.0和127.0.0.1
共同点:
- 都属于特殊地址。
- 都属于A类地址。
- 都是IPV4地址。
区别:
- 在服务器中,0.0.0.0指的是本机上的所有IPV4地址,,如果我绑定的端口指定了0.0.0.0,那么通过内网地址或外网地址都可以访问我的应用。但是如果我只绑定了内网地址,那么通过外网地址就不能访问,所以如果绑定0.0.0.0,也有一定安全隐患,对于只需要内网访问的服务,可以只绑定内网地址。
- 在路由中,0.0.0.0表示的是默认路由,即当路由表中完全没有找到完全匹配的路由的时候所对应的路由。
用途
- 回环测试,通过使用ping 127.0.0.1 测试某台机器上的网络设备,操作系统或者TCP/IP实现是否工作正常。
- DDos攻击防御:网站收到DDos攻击之后,将域名A记录到127.0.0.1,即让攻击者自己攻击自己。
- 大部分Web容器测试的时候绑定的本机地址。
localhost
localhost其实是个域名,而不是一个ip地址。之所以我们经常把localhost与127.0.0.1认为是同一个是因为我们使用的大多数系统上都默认localhost指向了127.0.0.1这个地址。
在linux系统中,/ets/hosts文件中都会有如下内容:
总结
127.0.0.1是一个环回地址或仅本地接口的ip地址(从该接口发送出去,又从该接口接收回来)。