82 releases

new 0.4.15 Jun 15, 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

#3 in Asynchronous

Download history 7905648/week @ 2026-02-24 9431383/week @ 2026-03-03 9674736/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 12402272/week @ 2026-05-26 12128746/week @ 2026-06-02 10176080/week @ 2026-06-09

49,236,615 downloads per month
Used in 23,883 crates (167 directly)

MIT license

1MB
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