nghttp3 — это реализация сопоставления RFC 9114 HTTP/3 с QUIC и RFC 9204 QPACK на языке C.
Это не зависит от какой-либо конкретной реализации транспорта QUIC.
Доступна онлайн-документация.
$ git клон https://github.com/ngtcp2/nghttp3 $ компакт-диск nghttp3 $ git обновление подмодуля --init $ автореконф -я $ ./настроить $ make -j$(nproc) проверка
Эта библиотека реализует RFC 9114 HTTP/3. Он не поддерживает отправку данных на сервер.
Реализованы следующие расширения:
Расширяемая схема приоритизации для HTTP
Загрузка WebSockets с помощью HTTP/3
Он также может отправлять и получать SETTINGS_H3_DATAGRAM из датаграмм HTTP и протокола Capsule.
Эта библиотека реализует RFC 9204 QPACK. Он поддерживает динамическую таблицу.
Эта библиотека дополнительно использует AVX2, если он доступен, для оптимизации своей производительности. Для компиляции с AVX2 добавьте -mavx2
в CFLAGS. Обратите внимание, что по умолчанию для CFLAGS установлено значение -g -O2
. При указании CFLAGS также включите их (например, -g -O2 -mavx2
).
Лицензия MIT
Авторские права (c) 2019 участников nghttp3