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.