A low-level HTTP server library in Rust focused on 100% HTTP compliance and easy server creation.
tiny-http is a minimal, low-level HTTP server library for Rust that handles client connections, request parsing, and data transfers while maintaining full HTTP standard compliance. It provides the foundational HTTP server functionality, allowing developers to focus on application logic rather than protocol details.
Rust developers building custom HTTP servers, frameworks, or applications requiring fine-grained control over HTTP handling, such as those creating web frameworks, proxies, or specialized services.
Developers choose tiny-http for its strict HTTP compliance, performance optimizations like lazy request decoding and pipelining, and its philosophy of handling only low-level mechanics while leaving higher-level concerns to user code or frameworks.
Low level HTTP server library in Rust
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Handles request pipelining, transfer encoding, and content encoding, ensuring 100% standard compliance as stated in the README.
Supports multiple TLS backends including OpenSSL, Rustls, and native-tls, allowing secure connections with various cryptographic libraries.
Uses lazy request decoding, efficient thread pool scaling, and pipelining support for speed, detailed in the 'Speed' section of the README.
Supports Connection: upgrade, making it suitable for implementing WebSocket servers without extra low-level handling.
As admitted in the README, turning POST input into a UTF-8 string and handling ranges are not implemented yet, limiting out-of-the-box functionality for common web tasks.
Leaves routing, header parsing, and templating to user code, requiring significant manual implementation or integration with external libraries for typical applications.
While basic usage is covered, the README lacks extensive examples for advanced scenarios like building frameworks or handling complex request types, pushing users to source code.