What is the difference between 127.0.0.1 and 0.0.0.0 when you bind your server to one of them? Simple answer is – 127.0.0.1 never goes outside your machine, whereas 0.0.0.0 do.

0.0.0.0
So as depicted in the picture – when your server is bound to 0.0.0.0 it means that it listens to all interfaces (traffic comming from Wi-Fi, Ethernet, docker0, loopback and others).
127.0.0.1
When your server is bound to 127.0.0.1, then it can be only accessed within the same machine – that’s why it’s called loopback. So it should be used only for development and debugging purposes.