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. Bothnghttpdandnghttpxcan fall back to HTTP/1.1 for backwards compatibility with clients that don't speak HTTP/2.h2loadfor 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.
deflatehdconverts JSON data or HTTP/1-style header fields to compressed JSON header blocks.inflatehdconverts such compressed headers back to JSON pairs.