Elérhető a nghttp3 projekt első stabil kiadása, amely C nyelvű könyvtárat fejleszt az HTTP/3 protokoll megvalósításával. Ugyanazon projekt által fejlesztett könyvtár HTTP/2 protokollra vonatkozó változata az Apache http-szerverhez tartozó mod_http2 modul alapjául szolgál. A projekt eredményeit a Curl segédprogram is felhasználja. A könyvtár kódját MIT licenc alatt terjesztik.
A HTTP/3 szabvány a QUIC (Quick UDP Internet Connections) protokollt határozza meg az HTTP/2 szállításához. A QUIC az UDP protokollra épül, támogatja a több kapcsolat egyidejű kezelését, és TLS/SSL-nek megfelelő titkosítási módszereket kínál. A protokollt 2013-ban a Google fejlesztette ki a TCP+TLS webhelyhez nyújtott alternatívaként, hogy megoldja a TCP-csomópontokkal kapcsolatos késleltetéseket és megszüntesse a csomagok elvesztése során fellépő késedelmeket.
A nghttp3 független megvalósítást kínál az RFC 9114 (HTTP/3 a QUIC protokollon), RFC 920 (QPACK fejlécek tömörítési technológia), RFC 9220 (WebSockets továbbítása HTTP/3-on) és az RFC 9218 (kiterjeszthető séma a kliens kérésekre adott válaszok prioritásának kezelésére) specifikációkról. A könyvtár nem függ bizonyos QUIC veremektől, és támogatja a QUIC szállító protokoll különböző megvalósításait. Ezen kívül a projekt saját QUIC protokollmegvalósítást is fejleszt — a ngtcp2-t, amely alapértelmezés szerint használatos. Az ngtcp2 titkosítási adatok hátsó végpontjaként quictls, GnuTLS, BoringSSL, Picotls és wolfSSL támogatott. A nghttp3 1.0-val egyidőben megjelent az ngtcp2 1.0 első stabil kiadása is.
Forrás: opennet.ru
