Nghttp2
Nghttp2
Main page

Nghttp2

logo
Community Hub0 subscribers
from Wikipedia
nghttp2
Original authorTatsuhiro Tsujikawa
Release2013
Stable release
1.69.0[1] Edit this on Wikidata / 19 April 2026; 2 months ago (19 April 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]
Revisions and contributorsEdit on WikipediaRead on Wikipedia
User Avatar
No comments yet.