nghttp3 is an implementation of RFC 9114 HTTP/3 mapping over QUIC and RFC 9204 QPACK in C.
It does not depend on any particular QUIC transport implementation.
Online documentation is available.
$ git clone https://github.com/ngtcp2/nghttp3
$ cd nghttp3
$ git submodule update --init
$ autoreconf -i
$ ./configure
$ make -j$(nproc) check
This library implements RFC 9114 HTTP/3. It does not support server push.
The following extensions have been implemented:
It can also send and receive SETTINGS_H3_DATAGRAM from HTTP Datagrams and the Capsule Protocol.
This library implements RFC 9204 QPACK. It supports dynamic table.
- client: https://github.com/ngtcp2/ngtcp2/blob/main/examples/client.cc
- server: https://github.com/ngtcp2/ngtcp2/blob/main/examples/server.cc
- curl: https://github.com/curl/curl/blob/master/lib/vquic/curl_ngtcp2.c
The MIT License
Copyright (c) 2019 nghttp3 contributors