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.
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.
Lumbricidae WORM (Widget Object Relational Mapper) is an SQLAlchemy binding for Webwidgets. SQLAlchemy presents database tables and rows as Python classes and objects. Webwidgets is a framework for writing Web applications as if they were desktop applications. WORM lets you easily map Webwidgets input fields, tables, and other widgets to database mapped classes, instances, and attributes. It requires the Argentum SQLAlchemy convenience library.
httcld provides a very small HTTP server with an embedded Tcl interpreter. In addition to static HTML and image files, it serves .htcl files, which are HTML with embedded tcl code. The Tcl is executed on the server, and the resulting output is embedded in the stream sent back to the client. In addition, variables in the Tcl namespace may be set and retrieved directly, say by an AJAX script.
Httpx takes over the front-line position of binding and listening on the public address and port of your virtual Web hosting server. In this role, it scans incoming requests looking for the HTTP/1.1 Host: request header entity. Once the Host: value is found for a given request, it is routed to a UNIX domain socket in the local file system located through a cached database lookup. Over this UNIX domain socket, an inter-process descriptor pass occurs to a Web server modified slightly to receive TCP socket descriptors passed over a UNIX domain socket instead of binding, listening for, and accepting TCP sockets. This allows vhosts to share an IP address while having private, host-specific, potentially unique httpd contexts.