A blazingly fast, minimalist HTTP server for Rust with support for HTTP/1, HTTP/2, and HTTP/3.
VeTiS is a lightweight, high-performance web server library for Rust applications. It provides a clean API for building web services with support for HTTP/1, HTTP/2, and HTTP/3 protocols, built-in TLS security, and flexible runtime options. It solves the need for a fast, minimalist server that leverages Rust's safety while offering modern web server features through a feature-gated design.
Rust developers building web services, APIs, or backend applications who prioritize performance, minimal binary size, and protocol flexibility. It's also suitable for developers needing to host multiple domains, serve static files, or proxy requests within a Rust ecosystem.
Developers choose VeTiS for its combination of Rust's zero-cost abstractions with a feature-gated architecture, allowing them to include only necessary components to optimize binary size. Its unique selling points include support for multiple async runtimes (Tokio or Smol), multi-protocol HTTP support out of the box, and built-in security with modern cryptography.
A blazingly fast, minimalist HTTP server built for modern Rust applications.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports both Tokio and Smol async runtimes via feature flags (tokio-rt and smol-rt), allowing developers to align with their existing async ecosystem preferences.
Implements HTTP/1, HTTP/2, and HTTP/3 with feature gating, enabling modern protocol adoption while keeping binary size minimal, as highlighted in the core features.
Allows optional inclusion of components like TLS or reverse proxy to optimize binary size, adhering to Rust's zero-cost abstraction philosophy detailed in the README.
Provides TLS with SNI support and virtual hosting for multiple domains, demonstrated through SecurityConfig and VirtualHostConfig builders in the usage example.
Integrates with Python (ASGI/WSGI/RSGI), PHP, and Ruby applications, offering flexibility for polyglot environments as mentioned in the language support section.
Version 0.1.0 and the roadmap indicate missing features like WebSockets and load balancing, making it less suitable for production-critical applications requiring these immediately.
Requires verbose builder patterns and manual setup for servers, virtual hosts, and paths, which can be error-prone compared to more abstracted frameworks like Rocket.
As a newer project, it lacks the extensive community resources, tutorials, and third-party integrations found in established Rust web frameworks, potentially increasing development time.
The README warns against disabling http1 to avoid build issues, suggesting potential complexity or bugs in feature management that could hinder customization.