http.server resulta práctico para ver archivos estáticos, probar solicitudes locales y crear prototipos. El comando python -m http.server sirve el directorio actual.
Ejemplo práctico
from http.server import ThreadingHTTPServer, SimpleHTTPRequestHandler
server = ThreadingHTTPServer(("127.0.0.1", 8000), SimpleHTTPRequestHandler)
print("Serving locally at http://127.0.0.1:8000")
try:
server.serve_forever()
except KeyboardInterrupt:
server.server_close()
Limita la interfaz de red
Usa --bind 127.0.0.1 para acceso solo local y --directory public para elegir explícitamente el contenido. De lo contrario, podrías exponer a la red archivos del directorio actual.
Mantén pequeña la personalización
SimpleHTTPRequestHandler resuelve archivos e índices. Una subclase puede ajustar cabeceras o logs en una prueba, pero la autenticación y las subidas seguras requieren una solución para producción.
Cierre y automatización
En pruebas, elige un puerto disponible, ejecuta el servidor en un contexto controlado y llama a shutdown() desde otro hilo antes de server_close(). No dejes procesos huérfanos en CI.
Sigue aprendiendo
Refuerza la base con ejecución segura de comandos. A documentación oficial de Python, consultada el 22 de julio de 2026, detalla la API, las limitaciones y las diferencias entre versiones.