82 releases

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

#2 in Asynchronous

Download history 9573578/week @ 2026-04-17 10536534/week @ 2026-04-24 10617657/week @ 2026-05-01 12603135/week @ 2026-05-08 13066204/week @ 2026-05-15 12083977/week @ 2026-05-22 12319651/week @ 2026-05-29 12051175/week @ 2026-06-05 11361500/week @ 2026-06-12 10788759/week @ 2026-06-19 11628888/week @ 2026-06-26 10543026/week @ 2026-07-03 12446355/week @ 2026-07-10 12853155/week @ 2026-07-17 12682531/week @ 2026-07-24 13239184/week @ 2026-07-31

53,296,619 downloads per month
Used in 26,192 crates (188 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
~110K SLoC