Skip to content

ngtcp2/nghttp3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Mar 9, 2025
2170036 · Mar 9, 2025
Jan 1, 2025
Dec 28, 2024
Feb 2, 2024
Jan 15, 2024
Sep 14, 2024
Jan 29, 2025
Mar 2, 2025
Nov 2, 2023
Mar 9, 2025
Nov 8, 2024
Feb 2, 2024
Feb 2, 2024
Feb 21, 2025
Feb 21, 2025
Mar 27, 2024
Feb 17, 2019
Feb 17, 2019
Sep 14, 2024
Feb 17, 2019
Feb 17, 2019
Oct 1, 2024
Sep 14, 2024
Feb 21, 2025
Apr 18, 2021
Apr 11, 2020
Sep 25, 2024
Mar 20, 2024
Oct 6, 2019
Jun 3, 2023
Apr 7, 2021
Feb 17, 2019

Repository files navigation

nghttp3

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.

Documentation

Online documentation is available.

Build from git

$ git clone https://github.com/ngtcp2/nghttp3
$ cd nghttp3
$ git submodule update --init
$ autoreconf -i
$ ./configure
$ make -j$(nproc) check

HTTP/3

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.

QPACK

This library implements RFC 9204 QPACK. It supports dynamic table.

Optimizations

This library optionally uses AVX2, if available, to optimize its performance. To compile with AVX2, add -mavx2 to CFLAGS. Note that by default, CFLAGS is set to -g -O2. When specifying CFLAGS, include them as well (e.g., -g -O2 -mavx2).

Examples

License

The MIT License

Copyright (c) 2019 nghttp3 contributors