Diferencia entre localhost y la dirección ip

Diferencia entre localhost y la dirección ip

Si vincula un socket en Python a localhost, se puede acceder a 8200 a través dehttp://localhost:8200/. pero nohttp://xxxx:8200/

Si vincula un socket en Python a xxxx,8200, nombre de máquina,8200, se puede acceder a él a través dehttp://xxxx:8200/yhttp://nombredeequipo:8200/, pero nohttp://localhost:8200/

Pensé que localhost significaba "esta máquina" y que usarlo "regresaría" a la dirección IP de la máquina, pero parecen ser IP diferentes.

¿127.0.0.1 es siempre una dirección IP diferente a la dirección IP de la máquina?

actualizar:

Entiendo que los números reales son diferentes, pero ¿qué hace el loopback?

Por ejemploWikipediadice que
'apuntando un navegador web a las URLhttp://127.0.0.1/ohttp://localhost/accederá al propio sitio web de esa computadora'

pero también se podrá acceder a ese sitio web en xxxx y, presumiblemente, se configurará con un solo socket en xxxx. Entonces, ¿cómo funcionan ambas referencias?

conclusión:

Creo que finalmente entiendo que 127.0.0.1 y xxxx funcionan así

--127.0.0.1 ==\
               >- Computer
--x.x.x.x   ==/

y no

--127.0.0.1 ==\
--------------- x.x.x.x >- Computer

o

--x.x.x.x ==\
--------------- 127.0.0.1 >- Computer

gracias por toda la ayuda

Respuesta1

Para responder tu pregunta.

127.0.0.1 no es sólo una dirección IP diferente a la dirección IP de la máquina, sino que también es una interfaz diferente. 127.0.0.1 no debería verse en la red local. Es una dirección IP interna especial para el adaptador loopback.

xxxx será tu tarjeta ethernet.

por cierto, 'localhost' es simplemente una entrada en su archivo de hosts que apunta a 127.0.0.1

Si vincula un socket a 127.0.0.1:8200, solo los clientes que se ejecuten localmente podrán acceder a él y solo conhttp://127.0.0.1:8200ohttp://localhost:8200(o una entrada de archivo dns o hosts que apunte a 127.0.0.1).

Un socket vinculado a xxxx:8200 sólo estará disponible a través dehttp://xxxx:8200o una entrada de archivo dns o hosts que apunte a eso.

Vincular un socket a 127.0.0.1 tampoco lo hace disponible automáticamente en la interfaz Ethernet.

Por eso no puedes conectarte a xxxx:8200

Puede vincular el puerto 8200 a todas las interfaces disponibles (0.0.0.0), entonces debería funcionar.

Otras características del adaptador loopback:

La interfaz loopback es una interfaz virtual. A menudo se utiliza para permitir que los programas se comuniquen entre sí en la misma máquina. No es una forma de hacer referencia a la dirección IP de la máquina. 127.0.0.1 ES la dirección IP del adaptador virtual de loopback.

La otra cosa acerca del adaptador loopback es que debido a que es virtual, en realidad no pasa ningún paquete a la tarjeta de red.

Respuesta2

Por ejemplo, Wikipedia dice que "apuntar un navegador web a las URLhttp://127.0.0.1/ohttp://localhost/accederá al propio sitio web de esa computadora'

Ligeramente inexacto. Élpuedehazlo. De la misma manera, es posible que no muestre ningún sitio web e incluso es posible mostrar un sitio web interno diferente al que obtienes cuando usas tu dirección xxxx.

127.0.0.1 apunta a su propia máquina, pero eso no significa que se comportará de la misma manera una vez que llegue a su máquina.

Si desea una analogía no técnica, puede considerarlas diferentes puertas de entrada a su casa.

Ambos apuntan a la misma casa pero no son lo mismo. Es posible que cada puerta lo lleve a la misma habitación o que lo lleven a una habitación diferente. También es posible cerrar una puerta y no la otra.

Cuando configura un sitio web, especifica a qué direcciones vincularse y, muy a menudo, la respuesta es todas las direcciones. (Eso equivale a que todas las puertas te lleven a una habitación)

También puede especificar que el sitio web se vincule a una sola dirección. (Eso equivale a cerrar todas las puertas excepto una).

Si tiene dos (o más) sitios web, puede vincularlos a direcciones separadas. (Eso equivale a que cada puerta entre en habitaciones separadas).

Un ejemplo de cómo funcionan ambas referencias, mi computadora con Windows 7 tiene IIS instalado, cuando entro al Administrador de IIS y hago clic derecho en Sitio web predeterminado, me aparece la opción de menú 'Editar enlaces'. Al seleccionar eso, aparece una lista de enlaces. Solo tengo una, pero para la dirección IP tiene *, lo que significa que IIS escucha todas mis direcciones IP.

Respuesta3

Cada dirección IP en el sistema es independiente y puede vincularse mediante sockets por separado, con la excepción de la dirección especial 0.0.0.0 que indica al sistema operativo que vincule el socket a todas las interfaces.

información relacionada