Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

Jump to content

nghttp2

From Wikipedia, the free encyclopedia
nghttp2
Original authorTatsuhiro Tsujikawa
Release2013
Stable release
1.70.0[1] Edit this on Wikidata / 29 July 2026; 1 day ago (29 July 2026)
Written inC
PlatformmacOS, Windows, POSIX
TypeHTTP/2 implementation
LicenseMIT License
Websitenghttp2.org
Repositorygithub.com/nghttp2/nghttp2

nghttp2 is a C library. It is an implementation of HTTP/2.

History

[edit]

nghttp2 was created by Tatsuhiro Tsujikawa as a derivative of spdylay, an implementation of SPDY, a communications protocol created by Google in 2009, in C.[2][3]

Several well-known projects use nghttp2 to implement HTTP/2, including Apache and cURL.[4][5]

Features

[edit]

HTTP/2 implementation

[edit]

nghttp2 will send a WINDOW_UPDATE frame upon consuming more than half of the flow control window. For instance, if the sender specifies the SETTINGS_INITIAL_WINDOW_SIZE [sic] as 65,535 octets in the SETTINGS frame, nghttp2 will send a WINDOW_UPDATE frame upon exceeding 32,768 octets. The initial window size may be changed using the -w and -W flags.[6]

Tools

[edit]

nghttp2 offers multiple tools. nghttp is a command-line tool that uses nghttp2 to output HTTP/2 messages from a URL.[7] nghttp's dependency-based priority is based on Firefox; when a connection is established, nghttp sends five PRIORITY frames.[8] Other tools provided include nghttpd, an HTTP/2 server, nghttpx, an HTTP/2 proxy, h2load, an HTTP/2 load testing tool, and inflatehd and deflatehd, tools to decompress and compress using the HPACK header compression algorithm.[9]

nghttp3

[edit]

nghttp3 is an implementation of HTTP/3 in C and authored by Tsujikawa. nghttp3 uses the QUIC network protocol designed by Jim Roskind at Google.[10]

References

[edit]

Citations

[edit]
  1. "Release 1.70.0". 29 July 2026. Retrieved 30 July 2026.
  2. Pollard 2019, p. 18.
  3. "nghttp2 - HTTP/2 C Library". nghttp2. Retrieved March 19, 2023.
  4. Pollard 2019, p. 347.
  5. Ludin & Garza 2017, p. 112.
  6. Pollard 2019, p. 233.
  7. Pollard 2019, p. 116.
  8. Pollard 2019, p. 128.
  9. Ludin & Garza 2017, p. 110.
  10. "The nghttp3 programmers' guide". nghttp2. 2020. Retrieved March 19, 2023.

Bibliography

[edit]