nghttp2 1.44.0 HTTP/2 protocol client, proxy, server, and library

nghttp2 implements the Hypertext Transfer Protocol, version 2 (HTTP/2).

A reusable C library provides the HTTP/2 framing layer, with several tools built on top of it:

  • nghttp, a command-line HTTP/2 client. It exposes many advanced and low-level aspects of the protocol and is useful for debugging.

  • nghttpd, a fast, multi-threaded HTTP/2 static web server that serves files from a local directory.

  • nghttpx, a fast, multi-threaded HTTP/2 reverse proxy that can be deployed in front of existing web servers that don't support HTTP/2. Both nghttpd and nghttpx can fall back to HTTP/1.1 for backwards compatibility with clients that don't speak HTTP/2.

  • h2load for benchmarking (only!) your own HTTP/2 servers.

  • HTTP/2 uses a header compression method called HPACK. nghttp2 provides a HPACK encoder and decoder as part of its public API.

  • deflatehd converts JSON data or HTTP/1-style header fields to compressed JSON header blocks.

  • inflatehd converts such compressed headers back to JSON pairs.