NanoHttpd is a lightweight HTTP server designed for embedding in other applications. It's only one Java file, in two "flavors", one strictly Java 1.1 compatible, and one at "current" standards. It supports GET, POST, PUT, HEAD and DELETE requests, and supports file uploading with very small memory overhead. Temp file usage and the threading model are easily customized.
lb is a very small and efficient libevent-based benchmarking tool for HTTP servers. It has been implemented with the main goal to provide a safe and quick replacement for the Apache 'ab' tool. Since its first release, it comes with the ability to benchmark several HTTP servers at the same time, theoretically limited only by operating system limits.
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.
Tomkitty is a Web server written in Java. It was conceived initially as a container for Web applications called Turdlets, themselves conceived as a simple alternative to Servlets. The code, though badly documented, has been put together with simplicity and understandability in mind and uses interfaces extensively. The general idea is a clean, stable, and scalable Web server in Java without the complexity and steep learning curve that comes with running the whole Tomcat system.
mod_log_dbd is a module for Apache 2.2+ that writes access logs to a database using the APR DBD framework. It's designed for simplicity and speed, and therefore lacks some of the features of other logging modules. It does, however, automatically create any needed tables and columns.