YAWS, the httpd module, mochiweb, they're all good pieces of engineering. They're accurate, they're efficient, they're stable, they're secure. They all speak the HTTP protocol well and scale impressively.
They just aren't what I want.
HtStub is different. In many ways it's very similar to Joe's Pico Web Server (indeed, HtStub started life as a Pico conversion), and it's had some inspiration from Tobbe's Web Toolkit and other Red Hot Blog properties, but in the end, it's changed into something all its own.
This library is different because it only manages sockets and speaks HTTP. It has no filesystem access, no configuration, no deployment, not even a basic idea of how to respond to a given request. All it does is handle parsing requests, dispatching them to a driver you provide, and dispatching the responses your driver provides.
Modular erlang application webservers in two lines of code - you know you love it. If you want to write web applications in Erlang, or if you want to add a web interface to an application that already exists, HtStub is for you.
HtStub is dependant on the ScUtil library, and uses the TestErl library for unit and regression testing. HtStub requires the Erlicode library to parse RFC 3492 "punycode" internationalized domain requests. HtStub is ready for IPv6 now.
HtStub is free and MIT licensed, because the GPL is evil.
TestErl is written by John Haugeland