A resposta é simples: thttpd
. Ele vence em desempenho, uso de memória e segurança. E por segurança eu quero dizer que é seguro em virtude de um design competente e não fazer nada estúpido, não que ele tenha todos os tipos de sinos e assobios de "segurança". Também é quase ideal em relação ao tamanho e simplicidade.
Se você precisar ainda menor e mais simples, o BusyBox tem um applet httpd
que também pode atender às suas necessidades.
Não tenho certeza se eles atendem a alguns dos seus requisitos mais curtos, como servir arquivos únicos, mas você pode fazer isso com um wrapper que coloca links simbólicos na raiz http. Se você fizer isso com o thttpd, terá que desabilitar restrições de links simbólicos.
(Eu sei que esta pergunta é antiga, mas é um dos principais resultados no Google e as respostas existentes são tudo menos leves.)