1. Сначала определяемся с требованиями к этому http-серверу, и чем не устраивают существующие решения
2. Выбираем из какого-нибудь компилируемого, более-менее производительного языка, с поддержкой асинхронности и удобной работой с сетью:
Erlang, C#, Go, Rust