Достъпен е първият стабилен релиз на проекта nghttp3, развиващ библиотека на C с реализация на протокола HTTP/3. Развиваната от същия проект версия на библиотеката за протокола HTTP/2 се използва като основа на модула mod_http2, включен в Apache http сървър. Наработките на проекта са също внедрени в Curl. Кодът на библиотеката се разпространява под MIT лиценз.
Стандартът HTTP/3 определя използването на протокола QUIC (Quick UDP Internet Connections) като транспорт за HTTP/2. QUIC представлява надстройка над UDP протокола, която поддържа мултиплексиране на няколко връзки и предлага методи за криптиране, еквивалентни на TLS/SSL. Протоколът е създаден през 2013 година от Google като алтернатива на TCP+TLS за уеб, решаваща проблемите с дългото време за свързване и съгласуване на връзките в TCP и премахваща закъсненията при загуба на пакети по време на преноса на данни.
В nghttp3 се предоставя независима реализация на спецификациите RFC 9114 (HTTP/3 върху QUIC протокола), RFC 920 (технология за компресия на заглавия QPACK), RFC 9220 (пренос на WebSockets върху HTTP/3) и RFC 9218 (разширяема схема за управление на приоритетите при изпращане на отговори на клиентски заявки). Библиотеката не зависи от конкретни QUIC стекове и поддържа работа върху различни реализации на транспортния протокол QUIC. В същото време проектът развива и собствена реализация на QUIC протокола — ngtcp2, която се използва по подразбиране. За бекенди за криптиране на данните в ngtcp2 се поддържат quictls, GnuTLS, BoringSSL, Picotls и wolfSSL. Във връзка с nghttp3 1.0 е публикуван и първият стабилен релиз на ngtcp2 1.0.
Източник: opennet.ru
