Alyssa is a HTTP server project that aims to be as good as mainstream HTTP server implementation while maintaining a simple source tree. It can just work without hours of configuration, on anywhere.
You can use it just out of the box! Just get the latest release, edit ports or other stuff if needed, and run the executable.
Documentation about configuration, compiling and much more is available here.
- HTTP/2 (still work in progress)
- SSL/TLS
- Redirection(soft and hard), authentication
- CGI applications
- IPv6 ready
- Directory index pages
- Name-based virtual hosts
- Built-in ratelimiting
And more.
- Configurable build system with makefile
- Polling client sockets and handling requests in thread pool (HTTP/2 will make this pretty hard)
- Windows NT service support
- Content negotiation (Accept-* headers)
- Conditional requests handling (If-* headers)
- HTTP/3 QUIC support
- Hashed authentication files support (sha256 for more security, crc32 for more performance)
- Automatic CGI execution (i.e. for .php files)
- Gracefully shutting down (depends to client polling)
- Response caching
- Proxy server implementation
- Optimize some parts if possible
- Switch to dual stack IPv6 sockets if possible (maybe)
- Guides for compilation, usage, configuration etc.
- Server generated and custom error pages
- Kernel mode acceleration
- Extend custom actions
- Implement FastCGI support
- Add code testing (i.e. unit testing)
- Digest authentication
- Source code documentation (maybe)
- Modules/extensions support
- Compression encodings (deflate).
- Make sure the server is really ready for production use.
-
Get a girlfriend