← Volver al Blog

¿Qué es localhost? Explicación de 127.0.0.1

localhost es tu propio equipo hablando consigo mismo. Qué significa 127.0.0.1, por qué funciona localhost:3000, la diferencia entre localhost y tu IP local, y errores comunes en Mac.

Si alguna vez has levantado un servidor de desarrollo, has escrito localhost:3000 en el navegador sin pensar en qué es localhost en realidad. Es una de las palabras más usadas en desarrollo y una de las menos explicadas.

localhost es tu equipo hablando consigo mismo

localhost es un nombre de host que siempre se refiere al equipo actual. Cuando te conectas a localhost, el tráfico nunca sale de tu equipo: vuelve hacia dentro en lugar de salir a la red. Por eso se le llama interfaz de bucle invertido (loopback).

Así que localhost:3000 significa: “conéctate a un programa que escucha en el puerto 3000, aquí mismo, en este mismo equipo”.

localhost vs. 127.0.0.1

localhost es un nombre. 127.0.0.1 es la dirección IP a la que apunta ese nombre. Son dos etiquetas para lo mismo:

  • 127.0.0.1 es la dirección de loopback de IPv4.
  • ::1 es la dirección de loopback de IPv6.
  • localhost resuelve a una de esas (en un Mac, el archivo /etc/hosts hace la asignación).

De hecho, todo el bloque 127.0.0.0/8 (desde 127.0.0.1 hasta 127.255.255.255) está reservado para loopback. 127.0.0.1 es simplemente el habitual que todo el mundo usa.

La mayoría de las veces localhost y 127.0.0.1 son intercambiables. La única diferencia práctica: en algunas configuraciones localhost puede resolver primero a la IPv6 ::1, lo que de vez en cuando hace que un servidor de desarrollo vinculado solo a la IPv4 127.0.0.1 parezca “inalcanzable” aunque esté funcionando. Si localhost:3000 falla pero 127.0.0.1:3000 funciona, esa discrepancia suele ser el motivo.

localhost vs. tu IP de red local

Tu Mac tiene más de una dirección:

  • 127.0.0.1 (localhost): solo alcanzable desde el propio Mac. Nada más en tu red puede conectarse a ella.
  • 192.168.x.x (tu IP local): tu dirección en la red local. Otros dispositivos —tu teléfono, otro portátil— pueden alcanzar esta.

Esta distinción importa constantemente en desarrollo. Un servidor de desarrollo vinculado a 127.0.0.1 es privado de tu Mac. Para probarlo desde el teléfono, tienes que vincularlo a 0.0.0.0 (todas las interfaces) y conectarte a la IP local de tu Mac.

Por qué a veces localhost:3000 rechaza la conexión

Las causas más comunes de que una URL localhost falle:

  1. Nada está escuchando en ese puerto. El servidor se cayó o nunca arrancó. Compruébalo con lsof -i :3000.
  2. El servidor está en otro puerto. Imprimió 4000, no 3000.
  3. Está vinculado a la interfaz equivocada. Vinculado a 127.0.0.1 pero lo llamas desde otro dispositivo, o vinculado solo a IPv6.
  4. El puerto lo ocupa otra cosa. Otro proceso tomó el 3000 primero; consulta puerto en uso en Mac.

Confirma qué está escuchando realmente:

lsof -i :3000 -n -P

Si eso no devuelve nada, ningún programa ocupa el puerto, y “conexión rechazada” es lo esperado.

localhost y los puertos van juntos

localhost por sí solo no hace nada: siempre lo combinas con un puerto, porque la dirección de loopback aún necesita saber a qué programa llegar. Ese es todo el sentido de los puertos: una dirección, muchos servicios, ordenados por número.

Ve qué está escuchando en localhost

Portie muestra cada programa que escucha en tu Mac, incluido todo lo vinculado a 127.0.0.1, en una sola tabla en vivo. Puedes ver el puerto, el proceso y si está vinculado solo a localhost o expuesto a toda la red, actualizado cada 3 segundos.

El monitoreo local es gratuito. El desbloqueo de $8.99 (pago único) agrega el control de procesos con un clic y el escaneo remoto. Descarga Portie y deja de adivinar por qué localhost no conecta.

Prueba Portie gratis

Ve cada puerto abierto en tu Mac, qué app lo usa y cierra procesos desde la lista.

Descargar gratis