2011-08-04 18 views
13

¿Cuál es la diferencia entre el localhost y la dirección IP real?localhost vs dirección IP real

Si tengo acceso a una aplicación usando http://localhost:8080/index.html y http://192.123.456.001:8080/index.html (por ejemplo, 192.123.456.001 es la dirección IP real de la computadora host), ¿cuál es la diferencia?

+15

* 192.123.456.001 * no es una dirección IP real :-) –

Respuesta

19

Al acceder al localhost, su archivo /etc/hosts le indicará a su computadora que no busque más y que lo redireccione a su computadora. Cuando accede a la dirección IP local, su computadora le pedirá al enrutador que busque los datos, y luego el enrutador lo dirigirá a su computadora.

1

De Wikipedia, los puntos pertinentes:

La comunicación con la interfaz de bucle invertido de una manera idéntica como con otros equipos de la red, pero sin pasar por el hardware de interfaz de red local, es útil para los propósitos de software de prueba.

La conexión a servicios de red alojados localmente, como un servidor de juegos informáticos , o para otras comunicaciones entre procesos, se puede realizar a través de direcciones de bucle de una manera altamente eficiente.

http://en.wikipedia.org/wiki/Localhost

+0

Aunque, sería bueno saber * cómo * esto es "una manera altamente eficiente". ¿es eficiente para el programador no pensar en la dirección del servidor? ¿Es eficiente para el servidor no tener que buscar dónde está la dirección? ¿Ambos? Creo que eso es lo que el cartel original estaba pidiendo. – Skotte

+1

@Skotte la creación de redes sigue el modelo OSI de 7 capas, ejecutando loopback permite que el sistema operativo optimice las cosas omitiendo capas. En un sistema operativo moderno y TCP/IP la diferencia debe ser tan mínima como simplemente la búsqueda en la tabla de enrutamiento local. –

0

La diferencia es cuando se configura un socket de escucha (a la espera de una conexión) que tiene que decirle qué dirección para unirse a. Lo mismo se aplica a la configuración del sitio web con todos los servidores web comunes.

Normalmente solo enlazará a cualquier dirección, lo que significa que puede acceder a ella a través de 127.0.0.1 o 192.xxx o cualquier otra dirección IP que tenga la máquina, pero en ocasiones es posible que desee vincularla a una específica: p.ej si tiene 4 IP públicas en una máquina, es posible que desee tener un sitio específico en una IP específica.

3

Además de las otras respuestas, puede encontrar misteriosos problemas con el uso de localhost.

Un ejemplo: IE en Windows realiza un acceso directo si ingresa http://localhost en la barra de URL. Esto se convierte en un problema cuando desarrolla una aplicación web y tiene un proxy local instalado (como Fiddler) para echar un vistazo a los mensajes que pasan entre la página web del cliente y el servidor que se ejecutan localmente: el mensaje no se capturará porque no pasará el proxy en este caso. Lo que hace que sea un poco incómodo encontrar errores solo de IE en su aplicación ... ;-)