Maneira rápida de hospedar um servidor web no host local

4

Gostaria de disponibilizar o conteúdo de uma pasta em http://localhost:PORT/ , temporariamente. Um servidor http muito básico.

Eu já conheço,

 $ python -m SimpleHttpServer 

ou (isso parece ser o novo caminho)

 $ python -m http.server 

mas estou procurando por métodos de linha de comando alternativos.

    
por Stefan 11.11.2010 / 14:48

1 resposta

4

Não existe tal coisa como um servidor web "system" no unix e diferentes "métodos".

Você pode instalar software em seu sistema que contém um servidor da Web simples e usá-lo ou não.

python -m SimpleHttpServer apenas carrega o módulo SimpleHttpServer, que contém um servidor web básico.

Existe algo semelhante para o Perl, basta dar uma olhada no CPAN: link

"Simples" é uma solução para Java: link

O mesmo pode ser realmente fácil com JavaScript e nodejs: link , veja a seção sobre HTTP.

Outra solução seria fazer você mesmo: o HTTP é um protocolo muito simples, quando se trata de servir apenas alguns arquivos estáticos. Para obter / foo / bar, seu navegador solicitará:

GET /foo/bar HTTP/1.1

A resposta deve estar no seguinte formato:

HTTP/1.0 200 OK
Last-Modified: Tue, 10 Jan 2010 11:11:11 GMT
Content-Type: text/html; charset=utf-8

YOUR CONTENT

ou

HTTP/1.1 404 Not Found
Last-Modified: Tue, 10 Jan 2010 11:11:11 GMT
Content-Type: text/html; charset=utf-8

YOUR 404 ERROR PAGE

Inclua o cabeçalho Last-Modified para ativar o armazenamento em cache dos recursos. Deve ser possível escrever uma implementação mínima disso em algumas linhas de código. Amarre-o a uma porta e você terá seu servidor web funcionando. Use o inetd ou o netcat para vinculá-lo ao seu IP.

Edit: Aqui está um simples shellscript que faz exatamente este trabalho. Ele também suporta a geração de um índice para as pastas e o tratamento de erros 404:

por 11.11.2010 / 15:41