Lanza un servidor en tu propio ordenador y entiende por qué nadie más lo ve.
Abrir esta lección en KodokonCuando estás creando un sitio, no vas a publicarlo en internet cada vez que haces un cambio. Lanzas un servidor en tu propio ordenador y lo consultas con tu navegador. Esa máquina, la tuya, tiene un nombre reservado: localhost, literalmente "el anfitrión local". También tiene una dirección IP reservada, 127.0.0.1, que significa siempre "yo mismo", en cualquier máquina del mundo.
Pero un ordenador puede ejecutar varios servidores a la vez. ¿Cómo saber a cuál te estás dirigiendo? Gracias a los puertos. Si la dirección IP es la dirección del edificio, el puerto es el número del piso: un número entre 1 y 65535 que identifica el programa que debe responder. Algunos son convencionales: el puerto 80 para http, el 443 para https. En desarrollo se usan a menudo el 3000, el 5173 o el 8000. El puerto se escribe después del nombre, separado por dos puntos: http://localhost:8000.
cd my-site
python3 -m http.server 8000
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...Deja esa ventana de terminal abierta: mientras el comando siga corriendo, el servidor responde. Abre ahora http://localhost:8000 en tu navegador y verás los archivos de la carpeta my-site. Para detener el servidor, vuelve al terminal y pulsa Ctrl + C.
¿Por qué tomarse esa molestia, si un doble clic en index.html también abre la página? Porque el doble clic abre el archivo con la dirección file:///C:/Users/..., y no http://. Y resulta que varias funcionalidades de la web se niegan en redondo a funcionar fuera del protocolo http: las peticiones a un servidor, los módulos de JavaScript, ciertas fuentes tipográficas. Obtendrás errores incomprensibles que desaparecerán como por arte de magia en cuanto pases por localhost.
lsof -i :8000
COMMAND PID USER FD TYPE NODE NAME
python3 4821 sarah 3u IPv4 TCP *:8000 (LISTEN)