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.
The yaSSL Embedded Web Server is a fast, embeddable, and easy-to-configure Web server with a strong focus on portability and security. The Web server offers SSL/TLS (HTTPS) support built-in through the CyaSSL embedded SSL Library. With a footprint size of less than 100kB with SSL enabled (or 40kB without SSL) and a simple and clean API, the yaSSL Embedded Web Server was designed to fit perfectly into resource-constrained embedded environments. While maintaining a small size and fast speeds, the yaSSL Embedded Web Server offers a full feature set to give you the maximum amount of freedom and flexibility when developing your project.
Zbatery is an HTTP server for Rack applications on systems that either do not support fork(), or have no memory (nor need) to run the master/worker model. It is based on Rainbows! (which is based on Unicorn (which is based on Mongrel)) and inherits parts of each. Zbatery supports your choice of all the thread/fiber/event/actor-based concurrency models and Rack middleware that Rainbows! supports (or will ever support) in a single process. Zbatery will still exploit certain features of Unix for transparent upgrades, log reopening, and graceful stops, but does not rely on them for basic functionality.
Rainbows! is an HTTP server for sleepy Rack applications. It is based on Unicorn, but designed to handle applications that expect long request/response times and/or slow clients. For Rack applications not heavily bound by slow external network dependencies, consider Unicorn instead as it simpler and easier to debug.
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.
Unicorn is a Unix and LAN/localhost-optimized fork of the Mongrel HTTP server. It takes full advantage of functionality exclusive to Unix-like operating systems. It will reap and restart workers that die from broken apps, and there is no need to manage multiple processes yourself. Load balancing is done entirely by the operating system kernel. Requests never pile up behind a busy worker. The server does not care if your application is thread-safe or not, as workers all run within their own isolated address space and only serve one client at a time. All Rack applications are supported along with pre-Rack versions of Ruby on Rails via a Rack wrapper. It also supports atomic log cycling, nginx-style binary re-execution without losing connections, before_fork and after_fork hooks, and optional copy-on-write-friendly memory management.
Naiocast is a Web based streaming server, similar to SHOUTcast and Icecast. It currently supports MP3 audio streams only. It can be used to create an Internet radio station or a privately running jukebox. It requires neither expensive dedicated servers nor compilation on the target machine. The project includes: Naiocast Server, which accepts a stream sent from a computer and sends it to listeners over standard HTTP; and naioSC, which sends the audio stream to a Naiocast server to broadcast to clients. It runs typically in the place where the audio is generated.
The mod_cidr_lookup is an Apache module for version 2.2 and 2.0. The mod_cidr_lookup detects client type by looking up the client's source IP address in CIDR blocks. This module sets the environment variable X_CLIENT_TYPE and the HTTP request header X-Client-Type, so it can be used in both Apache (httpd.conf) and Web applications.