
hyper
A low-level HTTP library for Rust, used to build HTTP clients and servers.
- Stars
- 16.4k
- Forks
- 1.8k
- Licence
- MIT
- Language
- Rust
- Last update
- 6 days ago
- Type
- Library
What it is
hyper is an HTTP library written in Rust that supports HTTP/1 and HTTP/2, with both client and server APIs. It is asynchronous and is meant to be a building block that other libraries and applications are built on, rather than a finished tool you use directly. The README points to reqwest for a more convenient client and to axum or warp for servers, both of which are built on top of hyper.
- Build a custom HTTP server on top of the hyper server API
- Make HTTP requests from a Rust program using the client API
- Serve as the HTTP foundation for a higher-level framework such as axum or warp
Great for
- Rust developers who need fine control over HTTP client or server behavior
- Authors of libraries or frameworks that need an HTTP layer
- Teams building services that need HTTP/1 and HTTP/2 support in Rust
Not ideal for
- Beginners who want a simple, convenient HTTP client, since the README recommends reqwest for that (hyper is low-level)
- People who just want a ready-made web server without writing code, since the README suggests axum or warp for choosing a server
- Non-Rust projects, since this is a Rust library
How to get it
- 1
Install with a package manager
You'll need: Rust toolchain (Cargo)
Add to a Rust project
cargo add hyper - 2
Run it
- Read the guides at https://hyper.rs/guides/1/
- Check the API docs on docs.rs/hyper
- Add hyper to a Cargo project and build a small client or server example
- 3
Get the most out of it
- Read the official guides at hyper.rs for the recommended setup
- Use reqwest if you only need a convenient client
- Use axum or warp if you want a server framework built on hyper
- Join the Discord community linked in the README for questions
Downloads
Strengths
- Supports both HTTP/1 and HTTP/2 with client and server APIs
- Asynchronous design suited to concurrent network programs
- Has extensive production use and an MIT license, according to the README
Trade-offs
- Low-level, so it requires more code than convenience libraries such as reqwest
- Documentation is pointed to via guides and docs.rs; the truncated README does not show detailed API examples
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| hyper (this) | 16.4k | Library | advanced | 6 days ago | Rust developers who need fine control over HTTP client or server behavior |
| axum | 27.7k | Library | intermediate | 4 days ago | Rust developers building HTTP APIs or web services |
| warp | 10.4k | Library | intermediate | 3 months ago | Rust developers building HTTP APIs or web servers |
| kratos | 26k | Library | intermediate | 4 days ago | Go developers building a set of backend services that talk over HTTP or gRPC |
| chi | 23k | Library | intermediate | 19 days ago | Go developers building REST API services |
| cpp-httplib | 17k | Library | beginner | 6 days ago | C++ developers who need a simple embedded HTTP server or client without a large framework |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.