注:本文只讨论进程监听时三个地址的区别。
通俗地讲
127.0.0.1
代表本机地址。比如,一个进程监听了127.0.0.1:8080
,只有本机的其他进程才可以访问,外网或局域网的进程无法访问。localhost
指向127.0.0.1
,可以理解为是127.0.0.1
的别名,定义在/etc/hosts
(OS: *nixes)文件中。0.0.0.0
代表本机器的所有地址,不仅包括:127.0.0.1
,还包括本机其他地址。比如,本机除了127.0.0.1
,还包括两个局域网IP192.168.0.8
,10.10.0.8
,当某个进程监听0.0.0.0:8080
,本机进程通过127.0.0.1:8080
、局域网A通过192.168.0.8:8080
、局域网B通过10.10.0.8:8080
都可以访问该进程。