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

#8 in Asynchronous

Download history 7290586/week @ 2026-01-24 7621967/week @ 2026-01-31 7975477/week @ 2026-02-07 7380639/week @ 2026-02-14 7597702/week @ 2026-02-21 8974470/week @ 2026-02-28 9798634/week @ 2026-03-07 9037192/week @ 2026-03-14 8316128/week @ 2026-03-21 8829253/week @ 2026-03-28 9157597/week @ 2026-04-04 9719219/week @ 2026-04-11 9678517/week @ 2026-04-18 10414842/week @ 2026-04-25 10912452/week @ 2026-05-02 12918258/week @ 2026-05-09

45,588,464 downloads per month
Used in 22,409 crates (153 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

~8–11MB
~109K SLoC