Dando esta resposta para o valor de entretenimento principalmente, mas você poderia usar qualquer super-servidor (xinetd pode fazer o trabalho também) e faça com que ele execute um script simples para cada solicitação na porta 80. O script esperaria por uma linha em branco na entrada padrão e depois imprimiria uma resposta estática preparada. Não tenho certeza de quanto mais leve você consegue.
Por exemplo, se estiver usando o tcpserver do DJB (acho fácil usá-lo para tarefas triviais) você pode fazer:
$ tcpserver 127.0.0.1 1080 sh -c 'awk "/^\r*$/ { exit }"; cat answer'
E no arquivo answer
, você pode ter:
HTTP/1.0 200
Date: Fri, 02 Nov 2012 16:05:54 GMT
Content-Length: 15
Content-Type: text/html; charset=utf-8
This is a test
Você pode ser criativo o quanto quiser.
E aqui está como eu testo:
$ wget -q -O - http://localhost:1080/
This is a test
ATUALIZAÇÃO: Para qualquer um considerando seriamente isso, para um uso realista de tcpserver
, é melhor começar assim:
tcpserver -H -R -l $HOSTNAME -u $(id -u nobody) -g $(id -g nobody) 0.0.0.0 80 sh -c 'awk "/^\r*$/ { exit }"; cat answer'
Por padrão, tcpserver pesquisa informações sobre a conexão de entrada e -H
(não procura o nome remoto no DNS) e -R
(não procura informações remotas com ident) acelerará a resposta às conexões de entrada. -u
e -g
descartarão os privilégios depois de receber a conexão na porta 80, e você terá que iniciá-lo como root para poder escutar na porta 80.
E, claro, certifique-se de que nada mais esteja escutando na porta 80.