Это все о сети.Когда вы «открываете» сокет, это означает, что вы создаете любой тип tcp / udp-сервера, вы bind
подключаете сокет к некоторому интерфейсу на вашем локальном ПК.
Это означает, что вы говорите своему серверу принимать соединения только от указанных интерфейсов.Например, у вас может быть несколько карт Ethernet, и вы хотите, чтобы ваш веб-сервер был доступен только на одной из них.
Чтобы добиться того, что вы bind
подключаете свой сервер к этому интерфейсу, указав IP-адрес.
В то же время, по-видимому, существуют некоторые специальные значения:
0.0.0.0
- означает, что ваш сервис будет доступен на всех интерфейсах.Вы можете подключиться как с локальной машины, так и с любого ПК, подключенного к любому из ваших адаптеров Ethernet.
localhost/127.0.0.1
- означает, что вы открываете свою службу локально .Это делает вашу услугу доступной только для соединений с локального ПК.Внешние соединения не принимаются.Эта опция полезна по соображениям безопасности.Часто это используется в архитектуре обратного прокси, когда незащищенные (http
) соединения открываются локально и безопасны (https
) - при 0.0.0.0
привязке с nginx
в качестве посредника обратного прокси.