Если я проверяю с помощью ping-запросов localhost, я получаю ответ из:: 1, какой IIRC является петлевым адресом IPv6.
Если я проверяю с помощью ping-запросов 127.0.0.1, я получаю ответ от 127.0.0.1 как ожидалось.
Почему там различие, когда разрешение сетевых имен localhost действительно 127.0.0.1?
См. следующий снимок экрана:
Имена хостов могут разрешить и IPv4 и адреса IPv6. "localhost" решает к IPv4 (127.0.0.1) и IPv6 (:: 1).
Я думаю, что предпочтение Windows состоит в том, чтобы использовать IPv6, если это возможно, который является почему localhost значения по умолчанию к разрешению IPv6. Если бы Вы выключили IPv6, то он перешел бы к адресу IPv4.
Причина Вы не встречаетесь с этим очень, когда проверка с помощью ping-запросов интернет-серверов состоит в том, что много ISPs не предоставляют клиентам адреса IPv6 (и много маршрутизаторов/модемов не может обработать их), и Вам нужны все устройства в цепочке для использования IPv6, если Вы хотите достигнуть сервера с помощью IPv6.