http.server é uma ferramenta conveniente para visualizar arquivos estáticos, testar requisições locais e criar protótipos. O comando python -m http.server inicia o servidor no diretório atual.

Exemplo prático

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()

Limite a interface de rede

Use --bind 127.0.0.1 quando o acesso deve ser apenas local e --directory public para definir explicitamente o conteúdo servido. Sem cuidado, você pode expor arquivos do diretório atual à rede.

Personalização pequena

SimpleHTTPRequestHandler resolve arquivos e índices. Uma subclasse pode ajustar cabeçalhos ou logs para um teste, mas implementar autenticação e uploads seguros já exige uma solução própria para produção.

Encerramento e automação

Em testes, escolha uma porta disponível, execute o servidor em um contexto controlado e chame shutdown() a partir de outro thread antes de server_close(). Não deixe processos órfãos no CI.

Continue estudando

Aprofunde a base com execução segura de comandos. A documentação oficial do Python, consultada em 22 de julho de 2026, detalha a API, as limitações e as diferenças entre versões.