HTTP 2.0 client & server implementation for Rust.
  • Rust 99.4%
  • Python 0.6%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Balazs Horvath d32eba3870 Fix all dependencies to use git.sly.so instead of local paths or crates.io
- Fixed atomic-waker, futures-core, futures-sink, tokio-util, tokio, bytes, http, tracing, fnv
- Fixed slab, indexmap, watch dependencies to use git.sly.so
- Fixed dev-dependencies: quickcheck, rand, hex, walkdir, serde, serde_json, tokio, env_logger, tokio-rustls, webpki-roots
2026-05-04 22:54:03 +02:00
benches chore: add simple h2 benchmark (#762) 2024-04-09 10:40:59 -05:00
examples chore: sync dependencies (monorepo) 2026-04-03 11:08:36 +02:00
fixtures/hpack Add HPACK test cases 2017-05-31 14:44:58 -07:00
fuzz chore: sync dependencies (monorepo) 2026-03-31 00:05:23 +02:00
src chore: sync dependencies (monorepo) 2026-04-06 01:07:10 +02:00
tests chore: sync dependencies (monorepo) 2026-03-31 14:24:32 +02:00
util chore: sync dependencies (monorepo) 2026-03-31 00:05:23 +02:00
.gitignore Include fuzz testing setup (#274) 2018-05-10 14:48:02 -07:00
Cargo.toml Fix all dependencies to use git.sly.so instead of local paths or crates.io 2026-05-04 22:54:03 +02:00
LICENSE License h2 only under the MIT license 2017-12-16 14:52:08 -06:00
README.md docs: update readme about production readiness (#854) 2025-07-28 17:46:23 -04:00

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.