Encontré algunos artículos relacionados con esto, pero no fueron suficientes para mí. Quiero saber cómo localhost
funciona y por qué es lo mismo en muchas máquinas diferentes.
¿Cómo localhost
bloquea el acceso al sitio web cuando lo usamos en el host
archivo para bloquear el sitio web?
windows-7
localhost
hosts-file
avirk
fuente
fuente
Respuestas:
No hablaré sobre el caso de Windows aquí, porque es un poco diferente, pero digamos esto: en cada sistema operativo tipo * Unix, tiene dos dispositivos de red:
El primero es puramente "virtual". Es como un enchufe Ethernet que no puedes ver. El segundo tiene que ver con el enchufe de Ethernet en su computadora.
¿Qué hace la interfaz de bucle invertido? Cada tráfico que envíe a loopback volverá.
Al igual que su dispositivo Ethernet obtiene una dirección IP (por ejemplo 192.168.1.20), el dispositivo de bucle invertido también tendrá una dirección IP, concretamente 127.0.0.1. Para hacerlo más fácil, también puede acceder a él
localhost
.Si observa un
/etc/hosts
archivo Unix típico , verá que 127.0.0.1 está asignado a "localhost". Entonces, cada vez que escriba "localhost", su computadora sabrá llamar a 127.0.0.1.Y esta es la razón por la que puede "bloquear" aplicaciones. Digamos que no desea que su computadora envíe datos a Microsoft. Entonces podría simplemente redirigir cada solicitud
microsoft.com
a 127.0.0.1 en su lugar. Cada intento de contactomicrosoft.com
resultaría en un fracaso.* todos los sistemas que realmente tienen un puerto Ethernet de hardware
fuente
Las direcciones de Protocolo de Internet (IP) se encuentran en una de las cuatro categorías básicas.
Por acuerdo, 127.0.0.1 es una de esas direcciones que se encuentran en la última de esas categorías.
Como humanos, no tendemos a recordar muy bien los números de IP, pero no tenemos problemas para recordar nombres como superuser.com, www.google.com y otros nombres similares. Cuando Internet era pequeño (muy pequeño), los humanos compartían un archivo de "hosts" con otras personas en Internet para que no tuvieran que recordar los números. Ese archivo de hosts contenía pares de una dirección IP y uno o más nombres de host. Cuando alguien intentaba acceder a un host por su nombre, el software de la computadora sabía lo suficiente como para buscarlo en el archivo de hosts. Internet ha crecido tanto desde entonces que ahora usamos un sistema de nombres de dominio (DNS) para resolver nombres a números IP además de usar el antiguo archivo de hosts. La mayoría de las computadoras están configuradas para buscar nombres en el archivo de hosts primero, luego en DNS si eso falla.
Ahora que tiene los antecedentes, así es como funciona (generalmente):
Cuando agrega esta entrada a su archivo de hosts, cada vez que su computadora intenta buscar en www.foo.com, intentará llegar a ese sitio en la dirección IP 127.0.0.1 porque le dijo que esa es la dirección de Internet para www. foo.com. Recuerde que 127.0.0.1 permitirá que una computadora se comunique consigo misma, por lo que al intentar ir a 127.0.0.1 en su navegador intentará contactar a un servidor web en su computadora. Si hubiera ingresado 2.3.4.5 en lugar de 127.0.0.1, habría intentado comunicarse con la computadora en la dirección 2.3.4.5 al abrir www.foo.com.
Lo malo de usar el archivo de hosts para cosas como esta es que una vez que agrega una entrada al archivo de hosts, asume la responsabilidad de mantener esa información actualizada. Si no coloca la entrada en su archivo de hosts, su computadora intentará usar DNS para buscar la dirección IP, luego usará esa dirección IP para contactar al servidor.
Lo bueno de esto es que si nunca desea permitir que nadie hable con www.foo.com solo por el nombre de host en su computadora, agregar la entrada a su archivo de hosts puede (palabra clave - mayo) evitar que eso suceda. Si el objetivo es evitar llegar a un sitio en particular por cualquier medio (no solo por el nombre de host), hay otras formas mejores y más confiables para evitar que eso suceda, como usar un firewall correctamente.
fuente
Localhost o 127.0.0.1 es simplemente un "nombre" integrado para su computadora local.
Es decir, 127.0.0.1 se llama "loopback", porque es simplemente un puntero que apunta de nuevo a su máquina. Es una dirección IP reservada que también se puede escribir como localhost por definición.
El propósito de esto es permitir que uno hable con la computadora enviando una señal hacia afuera y luego haciendo un bucle para que la misma computadora también lea la señal.
Supongamos que está ejecutando un servidor en su máquina: para acceder a él, debe enviar una solicitud al servidor (enviar un paquete a 127.0.0.1) y su servidor debe leerlo (su sistema vuelve el paquete a su sistema local en 127.0.0.1 que luego es leído por el software de su servidor).
fuente
Descubrí una presentación en la Guía TCP / IP que me pareció muy esclarecedora:
Además, Rutgers tiene un curso de Networking que incluye esta ilustración de la comunicación normal entre hosts,
y este del flujo de datos de bucle invertido:
fuente
Para la segunda parte de su pregunta, si coloca el nombre de host de un sitio web en su archivo de hosts con la dirección 127.0.0.1, significa que cuando escribe la dirección en su navegador en lugar de utilizar DNS para encontrar la dirección correcta, la encuentra en su archivo de hosts primero lo resuelve en localhost y, en lugar de ir a la dirección del sitio web, simplemente comienza a hablar con su máquina, lo que hace que el sitio web no se cargue.
fuente