Expand description
An extensible and efficient forward-thinking web server for the future.
Kvarn is a rethought web server tailored for the current needs from web application developers.
It handles several things for you, including
- Content-Type
- Compression of body
- Correct and performant HTTP/1 and HTTP/2
- Common API across HTTP/1 and HTTP/2
- Easy integration with HTTP/2 push promises
- Five types of extensions, all backed with intuitive macros
- Optional encryption with
rustls - Several checks for illegal requests
cache-controlandkvarn-cache-controlheader limits server cache lifetimes
§Getting started
To get started, configure a RunConfig. See the example at RunConfig::execute
on how to get a simple web server running.
A battle-tested reference implementation can be found at GitHub. It powers my two websites with minimal resource requirements.
§Future plans
See the README @ GitHub and kvarn.org.
Re-exports§
pub use error::default as default_error;pub use error::default_response as default_error_response;pub use extensions::Extensions;pub use extensions::Id;pub use read::file as read_file;pub use read::file_cached as read_file_cached;
Modules§
- Abstractions for the application layer, providing a common interface for all HTTP versions supported.
- Compress and cache.
- CORS implementation for Kvarn.
- CSP implementation for Kvarn.
- ctl
han