81 releases

0.4.14 May 4, 2026
0.4.13 Jan 5, 2026
0.4.12 Aug 6, 2025
0.4.11 Jun 30, 2025
0.0.0 Mar 9, 2017

#1 in #web-server

Download history 1572789/week @ 2026-03-03 9673782/week @ 2026-03-10 8711388/week @ 2026-03-17 8398429/week @ 2026-03-24 8735472/week @ 2026-03-31 9477055/week @ 2026-04-07 9656093/week @ 2026-04-14 10030932/week @ 2026-04-21 10493685/week @ 2026-04-28 11671304/week @ 2026-05-05 12874551/week @ 2026-05-12 12520602/week @ 2026-05-19 12403182/week @ 2026-05-26 10240895/week @ 2026-06-02

50,013,731 downloads per month
Used in 23,445 crates (164 directly)

MIT license

800KB
18K SLoC

H2

A Tokio aware, HTTP/2 client & server implementation for Rust.

License: MIT Crates.io Documentation

More information about this crate can be found in the crate documentation.

Features

  • Client and server HTTP/2 implementation.
  • Implements the full HTTP/2 specification.
  • Passes h2spec.
  • Focus on performance and correctness.
  • Built on Tokio.

Non goals

This crate is intended to only be an implementation of the HTTP/2 specification. It does not handle:

  • Managing TCP connections
  • HTTP 1.0 upgrade
  • TLS
  • Any feature not described by the HTTP/2 specification.

This crate is now used by hyper, which will provide all of these features.

Usage

To use h2, first add this to your Cargo.toml:

[dependencies]
h2 = "0.4"

Next, add this to your crate:

extern crate h2;

use h2::server::Connection;

fn main() {
    // ...
}

FAQ

Is this an embedded Java SQL database engine?

No.

Dependencies

~7–11MB
~108K SLoC