Das Schaefchen is a lightweight HTTP server and proxy for Unix platforms. It supports the minimum requirements of the HTTP/1.1 protocol and virtual hosts, basic authentication (which can be used to protect either files or directories), directory listing, byte ranges, reverse proxy, and FastCGI. It is an event-driven server that runs as a single process with a single thread using non-blocking I/O. It uses epoll as the event notification mechanism to multiplex control between active connections.
gweb++ is an asynchronous event-driven Web server and reverse proxy. It is written in C++, but it doesn't make use of the STL or of any additional libraries. It supports the following event notification mechanisms: epoll (edge-triggered, Linux), kqueue (FreeBSD), port (Solaris), poll, and select. It has the following main features: HTTP/1.1, reverse proxy, FastCGI, configurable via an XML file, MIME types support, pipelining, virtual hosts, Keep-Alive, directory listing (with an optional footer file), handling of the If-Modified-Since header, HTTP ranges, logs, configurable access logs, and log rotation.