Skip to content

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
Step-by-step guide: how to use hyperInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Install with a package manager

    You'll need: Rust toolchain (Cargo)

    Add to a Rust project

    cargo add hyper
  2. 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. 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

ProjectStarsTypeLevelUpdatedBest for
hyper (this)16.4kLibraryadvanced6 days agoRust developers who need fine control over HTTP client or server behavior
axum27.7kLibraryintermediate4 days agoRust developers building HTTP APIs or web services
warp10.4kLibraryintermediate3 months agoRust developers building HTTP APIs or web servers
kratos26kLibraryintermediate4 days agoGo developers building a set of backend services that talk over HTTP or gRPC
chi23kLibraryintermediate19 days agoGo developers building REST API services
cpp-httplib17kLibrarybeginner6 days agoC++ 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.