0.0.0.0与127.0.0.1理解

这两个host地址是不一样的,一般server.listen不指定host,默认就是0.0.0.0。监听这个地址相当于,监听当前所有的网络接口。也就是如果在0.0.0.0:3000,listen了,访问localhost啊,本地ip啊,127.x之所以都能生效,就是因为当前所有的可用网络接口都被监听了!

127.0.0.1 is normally the IP address assigned to the “loopback” or local-only interface. This is a “fake” network adapter that can only communicate within the same host. It’s often used when you want a network-capable application to only serve clients on the same host. A process that is listening on 127.0.0.1 for connections will only receive local connections on that socket.
“localhost” is normally the hostname for the 127.0.0.1 IP address. It’s usually set in /etc/hosts (or the Windows equivalent named “hosts” somewhere under %WINDIR%). You can use it just like any other hostname - try “ping localhost” to see how it resolves to 127.0.0.1.
0.0.0.0 has a couple of different meanings, but in this context, when a server is told to listen on 0.0.0.0 that means “listen on every available network interface“. The loopback adapter with IP address 127.0.0.1 from the perspective of the server process looks just like any other network adapter on the machine, so a server told to listen on 0.0.0.0 will accept connections on that interface too.