Hydra is a high performance multi threaded HTTP web server. Unlike traditional multi threaded web servers, Hydra uses a constant, but configurable, pool of threads, and each thread can handle several connections by multiplexing the connections.
This may remind you a non blocking server, and this is true, but Hydra has not the killing limitation of a non blocking server, which is that they cannot use more than one CPU. Hydra project will take advantage of every available CPU in a system.
It also has features such as host-based virtual hosting, HTTP 1.1 features, CGI 1.1, SSL 3.0, TLS 1.0, and more. Hydra was based on the Boa Web server.
Here are some key features of "Hydra":
· Everything is configurable All the server's parameters, such as the number of threads, file caching, etc, can be set using a configuration file.
· Hydra is concurent All requests are handled by several parallel multiplexers, and no single connection can affect the server's availability.
· Virtual Hosting Several sites can be hosted using a single server.
· SSL 3.0 and TLS 1.0 Security protocols are integrated to the server, using GnuTLS.
· HTTP/1.1 Hydra supports several popular features of the HTTP/1.1 specification.
· CGI/1.1 All CGI/1.1 compiant applications will run smoothly under Hydra.
· Support for server side scripting languages Hydra has experimental support for dynamic modules that execute scripts internally, thus avoids the expensive execution of CGIs, in a separate process. Using this feature Hydra can efficiently support scripting languages such as PHP.
· GNU Transport Layer Security Library
What's New in This Release:
· This release fixes the --disable-smp option, and allows hydra to be used as a boa with SSL.
· It also removes support for HIC internal modules.