A high-performance, HTTP/1.1 compliant web server written in Common Lisp for serving static and dynamic content.
AllegroServe is a full-featured web server implemented in Common Lisp, providing HTTP/1.1 compliance, SSL/TLS support, and integrated HTML generation. It solves the need for a high-performance, Lisp-native web server capable of serving both static and dynamic content while acting as a web proxy.
Common Lisp developers building web applications or needing an embedded HTTP server within their Lisp-based software. It's also valuable for those interested in network programming examples in Lisp.
Developers choose AllegroServe for its tight integration with Common Lisp, eliminating foreign language dependencies, and its comprehensive feature set including proxy capabilities, virtual hosting, and built-in HTML tools that leverage Lisp's strengths.
AllegroServe, a web server written in Common Lisp
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
The HTML generation facility seamlessly merges tag printing with dynamic content computation, allowing web pages to be read, modified in Lisp, and regenerated, as highlighted in the README.
Includes web proxy with local caching, virtual hosting with separate logging, SSL/TLS support, and CGI capabilities, making it a versatile all-in-one server for Lisp applications.
Designed for high performance in serving both static and dynamic pages, with on-the-fly compression to optimize delivery, as stated in the key features.
Written to demonstrate clean, readable network programming patterns in Lisp, avoiding certain macros for clarity, which serves as a valuable learning resource.
Only works on Allegro Common Lisp since version 6.0, as noted in the Platforms section, limiting portability and forcing reliance on a commercial Lisp implementation.
Requires loading and compiling Lisp files manually (e.g., via load.cl), which is less straightforward than binary installations or package managers used in mainstream web servers.
Supports only up to HTTP/1.1 and TLS 1.0, lacking newer standards like HTTP/2 or advanced features such as WebSockets, which might be critical for contemporary web applications.