nghttp2.org

HTTP/2 C library and tools

Nghttp2: HTTP/2 C Library

nghttp2 is an implementation of HTTP/2 and its header compression algorithm HPACK in C.

The framing layer of HTTP/2 is implemented as a form of reusable C library. On top of that, we have implemented HTTP/2 client, server and proxy. We have also developed load test and benchmarking tool for HTTP/2 and SPDY.

We have participated in httpbis working group since HTTP/2 draft-04, which is the first implementation draft. Since then we have updated nghttp2 library constantly to latest specification and nghttp2 is now one of the most mature HTTP/2 implementations.

All C APIs are fully documented.

HTTP/2 utilizes header compression method called HPACK. We offer HPACK encoder and decoder are available as public API.

nghttp2 library itself is a bit low-level. The experimental high level C++ API is also available.

We have Python binding of this libary, but we have not covered everything yet.