Ответ Lee B правильный, но вот некоторые соответствующие RFC на тот случай, если вам интересно.
0.0.0.0:
Из RFC1122 , раздел 3.1.2.3:
Теперь мы суммируем важные частные случаи для IP-адресов классов A, B и C, используя следующие обозначения для IP-адреса:
{ <Network-number>, <Host-number> }
or
{ <Network-number>, <Subnet-number>, <Host-number> }
...
(a) { 0, 0 }
This host on this network. MUST NOT be sent, except as
a source address as part of an initialization procedure
by which the host learns its own IP address.
Просто, «этот хост в этой сети» ... как говорится в ответе Ли Б., это преобразуется во все доступные IP-адреса на вашем хосте. Размещение службы на 0.0.0.0 будет автоматически размещать эту службу на каждом адресуемом интерфейсе.
127.0.0.1:
Из RFC5735 :
127.0.0.0/8 - этот блок назначен для использования в качестве петлевого адреса узла Интернета. Датаграмма, отправленная протоколом более высокого уровня на адрес в любом месте этого блока, возвращается обратно в хост. Обычно это реализуется с использованием только 127.0.0.1/32 для обратной петли. Как описано в [RFC1122], раздел 3.2.1.3, адреса внутри всего блока 127.0.0.0/8 нигде законно не появляются ни в одной сети.
Разница между 0.0.0.0 и адресом обратной связи 127.0.0.1 заключается в том, что адрес обратной связи предназначен для обеспечения полностью функционирующего IP-интерфейса внутри самого хоста, независимо от того, как выглядят остальные настройки сети, если таковые имеются. Любой трафик, отправленный на устройство обратной связи, сразу же принимается на нем. Это не так, что петлевая сеть «ссылается» на ваш собственный хост… это скорее похоже на мини-сегмент сети на вашем хосте, который устройства, процессы и сокеты могут открывать и подключать.