Static Web Server (or
SWS abbreviated) is a very small and fast production-ready web server suitable to serve static web files or assets.
It's cross-platform and available for Linux, macOS, Windows and FreeBSD (
ARM64) as well as Docker.
- Built with Rust which is focused on safety, speed and concurrency.
- Memory safe and very reduced CPU and RAM overhead.
- Blazing fast static files-serving and asynchronous powered by latest Hyper, Tokio and a set of awesome crates.
- Single 4MB (uncompressed) and fully static binary with no dependencies (Musl libc). Suitable for running on any Linux distro or Docker container.
- Optional GZip, Deflate or Brotli compression for text-based web files only.
- Compression on-demand via Accept-Encoding header.
- Partial Content Delivery support for byte-serving of large files.
- Optional Cache-Control headers for assets.
- Termination signal handling with graceful shutdown ability and grace period.
- HTTP/2 and TLS support.
- Security headers for HTTP/2 by default.
- HEAD responses.
- Lightweight and configurable logging via tracing crate.
- Customizable number of worker threads.
- Optional directory listing.
- CORS support.
- Basic HTTP Authentication.
- Customizable HTTP response headers for specific file requests via glob patterns.
- Fallback pages for 404 errors, useful for Single-page applications.
- Run the server as a Windows Service.
- Configurable using CLI arguments, environment variables or a TOML file.
- Default and custom error pages.
- Custom URL rewrites via glob patterns.
- Custom URL redirects via glob patterns.
- First-class Docker support. Scratch and latest Alpine Linux Docker images.
- Ability to accept a socket listener as a file descriptor for use in sandboxing and on-demand applications (E.g systemd).
- Cross-platform. Pre-compiled binaries for Linux, macOS, Windows and FreeBSD (