Cuando accedes a una dirección IP, normalmente lo haces para establecer conexión con otro ordenador en Internet. Sin embargo, si introduces la dirección IP 127.0.0.1, en realidad te estás comunicando con el localhost, es decir, con tu propio ordenador. Entonces, ¿qué sentido tiene hablar con uno mismo en el entorno digital? ¿Para qué sirve exactamente localhost y cómo funciona el loopback?

Dominios web
Compra y registra tu dominio ideal
  • Gratis SSL Wildcard para transferencias de datos más seguras
  • Gratis registro privado para más privacidad

¿Qué es exactamente el localhost?

Explicado de forma sencilla, el localhost es tu propio equipo. Cuando accedes a localhost, tu ordenador se comunica consigo mismo. Sin embargo, esta explicación es solo una simplificación. En realidad, localhost no se refiere directamente al hardware de tu PC. Suele tener una dirección IP local, como 192.168.0.1, mientras que la dirección pública que usas para navegar por Internet es distinta y la asigna tu proveedor de Internet.

Se habla de localhost cuando utilizas un servidor que se ejecuta en tu propio equipo. Por tanto, el término se emplea únicamente en el contexto de redes. “Localhost” designa tanto al servidor virtual como a su nombre de dominio. Igual que sucede con .test, .example o .invalid, el dominio .localhost es un dominio de nivel superior reservado para documentación y pruebas.

Cuando intentas acceder a localhost en el navegador escribiendo http://localhost, se genera un bucle de retorno (loopback): la solicitud no se envía a Internet a través del router, sino que permanece en tu propio sistema. En este caso, localhost utiliza la dirección IP 127.0.0.1, que apunta al servidor de tu propio ordenador.

Imagen: Localhost (127.0.0.1)
Diagrama de comunicación con localhost
Domain Name Registration
Proyecta tu marca con un gran dominio
  • Gratis SSL Wildcard para transferencias de datos más seguras
  • Gratis registro privado para más privacidad  

127.0.0.1: ¿cómo funciona el loopback?

Dentro de una red, las direcciones IP permiten que los diferentes dispositivos se comuniquen entre sí. Cada uno de ellos cuenta con su propia dirección. Los paquetes de datos que se envían mediante el protocolo TCP/IP llegan al destino correcto gracias a este sistema.

El par de protocolos Transmission Control Protocol (TCP) e Internet Protocol (IP o protocolo IP) constituye uno de los pilares fundamentales de Internet. Sin embargo, más allá de la red global, TCP/IP también se utiliza en redes locales. El protocolo IP se encarga, durante la transmisión, de que sea posible dirigir los datos a los distintos participantes de una red mediante la dirección IP y la máscara de subred.

Nota

La asignación de direcciones IP públicas (aquellas accesibles desde Internet) está regulada por una organización internacional: la Internet Corporation for Assigned Names and Numbers (ICANN). La ICANN también administra el Sistema de Nombres de Dominio (DNS). No obstante, existen ciertos rangos de direcciones reservados para usos específicos, como el bloque que va de 127.0.0.0 a 127.255.255.255.

Hasta los años noventa, las direcciones IP de Internet se dividían en distintas clases. La primera, la Clase A, comenzaba con 0.0.0.0 (una dirección también reservada) y terminaba con 127.255.255.255. Por ello, el número 127, último bloque de la red de Clase A, probablemente fue elegido para el loopback.

Dentro de este rango de direcciones se puede configurar una red local (localnet). Lo particular de este bloque no es solo que esté reservado por la ICANN, sino también que sus direcciones IP no se asignan de forma exclusiva, como suele ser habitual. ¿Cómo funciona entonces? Normalmente, cuando introduces una dirección IP o un nombre de dominio en tu navegador, el router envía la solicitud a Internet para que llegue al servidor correspondiente. Sin embargo, en el caso de 127.0.0.1, la situación es diferente: las solicitudes no salen a Internet, sino que se quedan en tu propio sistema. El protocolo TCP/IP identifica el primer bloque (127) y reconoce que se trata de una referencia al propio sistema. Por eso se activa el loopback, es decir, la comunicación interna dentro de tu propio equipo a través del localhost.

Hecho

En IPv6, la dirección ::1 está reservada para loopback.

Para que el redireccionamiento hacia el propio ordenador funcione, el sistema crea un dispositivo de loopback, que actúa como una interfaz de red virtual. Esta interfaz está implementada completamente por el sistema operativo. En los sistemas Unix, se denomina “lo” o “lo0” y puede visualizarse mediante el comando ifconfig. En Windows, el comando equivalente es ipconfig.

Hecho

Si analizas la tecnología independientemente del localhost, el concepto de loopback también puede aplicarse de manera análoga: en la tecnología de comunicaciones, se emplean circuitos de retorno para comprobar si la ruta de la señal y la recepción funcionan correctamente.

¿Para qué se utiliza localhost?

Los desarrolladores utilizan localhost para probar programas y aplicaciones web. Los administradores de redes también pueden usar el bucle de loopback para comprobar las conexiones de red. Otro uso práctico del localhost se encuentra en el archivo hosts, donde el loopback puede usarse para bloquear páginas web maliciosas.

Nota

En los entornos de desarrollo modernos basados en la nube, se trabaja cada vez menos con servidores locales. En su lugar, se utilizan máquinas virtuales o contenedores que se ejecutan en la nube. En estos casos, el uso clásico de localhost (127.0.0.1) para simular conexiones de red puede resultar menos relevante.

Propósitos de prueba

Localhost se utiliza principalmente en entornos de servidores web y en la programación de aplicaciones que necesitan comunicarse a través de Internet. Durante el desarrollo, es importante comprobar si la aplicación funciona correctamente en una conexión real. Algunas funciones solo se ejecutan correctamente cuando los archivos correspondientes están disponibles en un entorno similar a Internet.

Por ejemplo, no es lo mismo abrir un documento HTML directamente en tu ordenador que cargarlo en un servidor para acceder a localhost. Sin embargo, publicar un producto sin terminar no es recomendable. Para estos casos, los desarrolladores utilizan el loopback, que les permite simular una conexión de red sin salir del propio sistema: la comunicación permanece íntegramente en el propio sistema.

Otra ventaja del uso del localhost para pruebas es la velocidad. Mientras que una solicitud enviada a través de Internet puede tardar más de 100 milisegundos, un ping al localhost no debería superar un milisegundo. Además, esta técnica permite comprobar si el protocolo de Internet está correctamente implementado. Puedes probarlo tú mismo abriendo el símbolo del sistema (en Windows) o la terminal (en Unix o macOS) y ejecutando el comando ping. Este se puede enviar tanto al dominio “localhost” como directamente a la dirección IP:

ping localhost
ping 127.0.0.1
bash

Si quieres configurar un servidor de pruebas en tu propio PC y dirigirlo mediante localhost, basta con instalar un software adecuado. En general, puedes ejecutar cualquier servidor web habitual en tu ordenador, aunque también existen herramientas específicas para este propósito, como el conjunto de software XAMPP.

Protégete y compra un certificado SSL

Evita aparecer en la barra del navegador como "página no segura" y consigue la confianza de tus clientes con una página web con encriptación SSL.

Bloqueo de páginas web

Localhost también desempeña un papel importante en el archivo hosts. Este archivo es, en esencia, un precursor del Sistema de Nombres de Dominio (DNS), y permite asignar direcciones IP a los dominios correspondientes. Cuando introduces la dirección de una página web en el navegador, el dominio debe traducirse a una dirección IP. En el pasado, esta tarea la realizaba el archivo hosts. Hoy en día se utiliza normalmente el DNS global, aunque el archivo sigue estando presente en la mayoría de los sistemas operativos. En Windows, se encuentra en \system32\drivers\etc\hosts, y en macOS y otros sistemas Unix, en /etc/hosts.

Si no has realizado cambios en el archivo, probablemente solo encontrarás dos entradas:

127.0.0.1	localhost
::1			localhost
txt

De este modo, se garantiza que la resolución de nombres para localhost no tenga que realizarse a través de Internet. Sin embargo, el archivo también puede usarse para bloquear determinadas páginas web. Para ello, basta con añadir la página que quieras bloquear y asignarle la dirección IP 127.0.0.1. Si tú (o, por ejemplo, un script malicioso) intentas acceder a esa página, el navegador consultará primero el archivo hosts y encontrará la entrada allí. También es posible utilizar la dirección 0.0.0.0 para el mismo propósito.

En ese caso, el navegador intentará acceder al documento correspondiente (la página web) en el servidor bajo 127.0.0.1, pero lo más probable es que no lo encuentre, ya que el archivo solicitado no existe en tu sistema. No obstante, si tienes configurado un servidor de pruebas propio, el navegador podría encontrar un archivo como home.html, aunque sería uno tuyo. Si no tienes un servidor de pruebas, en lugar de la página solicitada aparecerá un mensaje de error. Esta técnica también puede utilizarse para bloquear anuncios publicitarios en todo el sistema. Para evitar tener que añadir cada entrada manualmente, es posible encontrar en Internet archivos hosts completos y actualizados con regularidad.

Nota

El archivo hosts puede influir considerablemente en tu seguridad al navegar por Internet. Aunque resulta útil para bloquear páginas web maliciosas, también puede ser manipulado por delincuentes para añadir entradas fraudulentas. Por eso, debes asegurarte de no importar registros desde otras páginas sin comprobarlas y de que ningún malware realice cambios en el archivo sin tu conocimiento.

Ir al menú principal