Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hyperium/h2
HTTP 2.0 client & server implementation for Rust.
https://github.com/hyperium/h2
http2 rust tokio
Last synced: 14 days ago
JSON representation
HTTP 2.0 client & server implementation for Rust.
- Host: GitHub
- URL: https://github.com/hyperium/h2
- Owner: hyperium
- License: mit
- Created: 2017-03-10T04:03:11.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-05-17T12:36:11.000Z (6 months ago)
- Last Synced: 2024-05-17T13:39:59.482Z (6 months ago)
- Topics: http2, rust, tokio
- Language: Rust
- Homepage:
- Size: 5.49 MB
- Stars: 1,315
- Watchers: 44
- Forks: 253
- Open Issues: 67
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# H2
A Tokio aware, HTTP/2 client & server implementation for Rust.
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
[![Crates.io](https://img.shields.io/crates/v/h2.svg)](https://crates.io/crates/h2)
[![Documentation](https://docs.rs/h2/badge.svg)][dox]More information about this crate can be found in the [crate documentation][dox].
[dox]: https://docs.rs/h2
## Features
* Client and server HTTP/2 implementation.
* Implements the full HTTP/2 specification.
* Passes [h2spec](https://github.com/summerwind/h2spec).
* Focus on performance and correctness.
* Built on [Tokio](https://tokio.rs).## 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](https://github.com/hyperium/hyper), which will provide all of these features.
## Usage
To use `h2`, first add this to your `Cargo.toml`:
```toml
[dependencies]
h2 = "0.4"
```Next, add this to your crate:
```rust
extern crate h2;use h2::server::Connection;
fn main() {
// ...
}
```## FAQ
**How does h2 compare to [solicit] or [rust-http2]?**
The h2 library has implemented more of the details of the HTTP/2 specification
than any other Rust library. It also passes the [h2spec] set of tests. The h2
library is rapidly approaching "production ready" quality.Besides the above, Solicit is built on blocking I/O and does not appear to be
actively maintained.**Is this an embedded Java SQL database engine?**
[No](https://www.h2database.com).
[solicit]: https://github.com/mlalic/solicit
[rust-http2]: https://github.com/stepancheg/rust-http2
[h2spec]: https://github.com/summerwind/h2spec