sgcQUIC feature-matrix — QUIC, HTTP/3, WebTransport | eSeGeCe

sgcQUIC feature-matrix

Alles wat sgcQUIC doet, uitgezet tussen de vier componenten en de RFC's die ze implementeren. Het pure QUIC-paar geeft je streams en datagrammen; het HTTP/3-paar voegt request/response, QPACK en WebTransport toe. Elke mogelijkheid werkt hetzelfde in Delphi, C++ Builder en .NET, en elke licentie bevat volledige broncode. Klik op een component voor zijn eigen pagina met gebruik en voorbeelden.

HTTP/3

RFC 9114 + QPACK

WebTransport

RFC 9220

Standaarden & platforms

TLS 1.3 / OpenSSL 3.5

Vier paletcomponenten

Twee lagen: puur QUIC-transport, en HTTP/3 request/response daarbovenop.

ComponentKlasseFamilieBeschrijving
QUIC-clientTsgcQUICClientQUICPure QUIC-transportclient: streams en datagrammen, 0-RTT, connectiemigratie (RFC 9000).
QUIC-serverTsgcQUICServerQUICPure QUIC-transportserver: bindt aan een UDP-poort, termineert TLS 1.3, genereert events per verbinding en per stream.
HTTP/3-clientTsgcHTTP3ClientHTTP/3HTTP/3-client met QPACK, Alt-Svc, server push, Extended CONNECT en WebTransport (RFC 9114).
HTTP/3-serverTsgcHTTP3ServerHTTP/3HTTP/3-server: bedient verzoeken over QUIC, server push, WebTransport-sessies en datagrammen.

QUIC-transport (RFC 9000)

De transportlaag, rechtstreeks beschikbaar om je eigen protocol bovenop QUIC te bouwen.

MogelijkheidClientServerOpmerkingen
Enkele gecombineerde transport- + TLS 1.3-handshakeEén flight voltooit de verbinding; geen aparte TLS-round trip.
Onafhankelijke bidirectionele streamsEen verloren pakket blokkeert alleen de streams waarvan het data bevatte.
Unidirectionele streamsOpenStream(aUnidirectional := True) op de builtin-engine.
Meerdere streams per verbindingEnableMultiStream / OpenStream op de qmBuiltin-engine.
0-RTT-hervattingEen hervatte sessie kan early data meesturen in de eerste flight.
ConnectiemigratieGebaseerd op connection ID; overleeft een netwerkwissel van de client.
Bytes verzenden / ontvangenWriteDataWriteData(connection, …)String- of TBytes-payloads op een stream.
Events voor de levenscyclus van de verbindingOnQUICConnect / OnQUICDisconnectOnQUICConnect / OnQUICDisconnectPlus OnQUICException voor transportfouten.
Event voor binnenkomende streamdataOnQUICStreamDataOnQUICStreamData / OnQUICDataWordt geactiveerd zodra streambytes binnenkomen.

HTTP/3 (RFC 9114) & QPACK (RFC 9204)

HTTP-semantiek over QUIC, met de HTTP/3-specifieke machinerie beschikbaar als methoden en events.

MogelijkheidClientServerOpmerkingen
VerzoekmethodenGET, HEAD, POST, PUT, DELETE, PATCH, OPTIONS, TRACE, CONNECT, QUERYElk een blokkerende aanroep op de client, de meeste met een asynchrone variant.
QPACK-headercompressieRFC 9204, met dynamische-tabelupdates op speciale encoder-/decoderstreams.
Alt-Svc-discoveryOnAltSvcadverteertRFC 7838; de client parseert de header en laat je app beslissen wanneer te wisselen.
Server pushSetMaxPushId / OnPushPromise / OnPushpush vanuit OnH3RequestDe client adverteert een limiet en kan gepushte responses weigeren.
Extended CONNECT-tunnelsExtendedConnect / TunnelSend / OnTunnelDataOnH3TunnelData / TunnelSendRFC 9220 tunnelt een ander protocol door een requeststream.
RequesteventOnH3RequestWordt geactiveerd per verzoek; de applicatie vult de response.
Nette afsluitingOnGoAwayGOAWAYRFC 9114-signalering voor het afsluiten van de verbinding.
Certificaat / sleutelQUICOptions.SSLOptions.CertFile / KeyFilePEM-certificaat en private key voor de listener.

WebTransport (RFC 9220)

Sessies onderhandeld via Extended CONNECT die de applicatie rechtstreeks QUIC-streams geven.

MogelijkheidClientServerOpmerkingen
Sessie opzettenWebTransportConnectOnWebTransportSessionOpgestart via een HTTP/3 Extended CONNECT-verzoek.
Bidirectionele streamsBidirectioneel verkeer met lage latency op de builtin-engine.
DatagrammenSendDatagramOnbetrouwbare datagrammen naast de streams van de sessie.
Builtin-engine vereistEen sessie heeft meerdere streams op één verbinding nodig (qmBuiltin).

Standaarden, TLS en platforms

Een op standaarden gebaseerde stack op de native OpenSSL 3.5 QUIC-engine.

GebiedDetail
RFC 9000QUIC-transport — streams, connection ID's, migratie, gecombineerde transport- + TLS-handshake.
RFC 9114HTTP/3 — HTTP-semantiek gemapt op QUIC-streams.
RFC 9204QPACK — headercompressie voor HTTP/3.
RFC 9220Bootstrapping van WebTransport over HTTP/3 (Extended CONNECT).
RFC 7838Alt-Svc — beschikbaarheid van HTTP/3, geadverteerd door de server.
TLSTLS 1.3, ingebouwd in de QUIC-handshake.
Crypto-engineNative QUIC in OpenSSL 3.5 (qmBuiltin, multi-stream). Er bestaat een qmCustom-pad voor builds in quictls-stijl, beperkt tot één stream per verbinding.
PlatformsWin32, Win64 en Linux64, plus macOS, iOS en Android waar de OpenSSL 3.5 QUIC-engine beschikbaar is.
TalenDelphi en C++ Builder (7 tot en met 13), en .NET met de identiek genoemde Tsgc-klassen.
De beste deal: All-AccessElk eSeGeCe-product, inclusief Premium-ondersteuning, vanaf €1,059 per jaar.
Bekijk de All-Access-prijzen

Bouw met sgcQUIC

Download de gratis proefversie en stuur verkeer over QUIC en HTTP/3 in Delphi, C++ Builder of .NET.