Composant client HTTP/3 — sgcQUIC | eSeGeCe

Client HTTP/3

TsgcHTTP3Client — un client HTTP/3 (RFC 9114) qui envoie des requêtes sur QUIC avec compression d'en-têtes QPACK, découverte Alt-Svc, server push, tunnels Extended CONNECT et sessions WebTransport. La même sémantique HTTP que tu connais, sur un nouveau transport, en Delphi, C++ Builder et .NET.

TsgcHTTP3Client

Connecte-toi à un hôte et un port, puis envoie des requêtes avec les verbes que tu utilises déjà. QPACK, Alt-Svc, push et WebTransport sont exposés comme méthodes et événements. Construit sur le moteur QUIC natif d'OpenSSL 3.5.

Classe du composant

TsgcHTTP3Client

Protocole

HTTP/3 (RFC 9114) sur QUIC

Famille

HTTP/3

Langages

Delphi, C++ Builder, .NET

Une requête GET sur HTTP/3

Connecte-toi à un hôte et un port, puis envoie des requêtes. Le port par défaut est 443. Les en-têtes sont compressées avec QPACK, et OnAltSvc t'indique quand HTTP/3 est annoncé.

uses
  sgcHTTP3_Client;

var
  oClient: TsgcHTTP3Client;
  vBody: string;
begin
  oClient := TsgcHTTP3Client.Create(nil);
  oClient.OnResponse := OnResponseHandler;
  oClient.OnAltSvc   := OnAltSvcHandler;

  oClient.Connect('www.example.com', 443);
  vBody := oClient.Get('https://www.example.com/');   // QPACK-compressed request
  oClient.Disconnect;
end;

// WebTransport session over HTTP/3 (RFC 9220):
oClient.WebTransportConnect('https://www.example.com/wt');
// includes: sgcHTTP3_Client.hpp

TsgcHTTP3Client *oClient = new TsgcHTTP3Client(NULL);
oClient->OnResponse = OnResponseHandler;
oClient->OnAltSvc   = OnAltSvcHandler;

oClient->Connect("www.example.com", 443);
String vBody = oClient->Get("https://www.example.com/");   // QPACK-compressed request
oClient->Disconnect();

// WebTransport session over HTTP/3 (RFC 9220):
oClient->WebTransportConnect("https://www.example.com/wt");
using esegece.sgcWebSockets;

var oClient = new TsgcHTTP3Client();
oClient.OnResponse += OnResponseHandler;
oClient.OnAltSvc   += OnAltSvcHandler;

oClient.Connect("www.example.com", 443);
var vBody = oClient.Get("https://www.example.com/");   // QPACK-compressed request
oClient.Disconnect();

// WebTransport session over HTTP/3 (RFC 9220):
oClient.WebTransportConnect("https://www.example.com/wt");

Propriétés et méthodes clés

Les membres que tu utiliseras le plus souvent.

Requêtes

Get, Head, Post, Put, Delete et les autres verbes (y compris la méthode QUERY de l'IETF) s'exécutent comme des appels bloquants, la plupart avec une variante asynchrone.

Connexion

Connect(aHost, aPort) et Disconnect ouvrent et ferment la connexion QUIC ; Host et Port indiquent la cible actuelle.

Alt-Svc et push

OnAltSvc expose la disponibilité de HTTP/3 ; SetMaxPushId, OnPushPromise et OnPush contrôlent le server push.

Tunnels et WebTransport

ExtendedConnect, TunnelSend et OnTunnelData pilotent les tunnels RFC 9220 ; WebTransportConnect ouvre une session WebTransport.

Ajustements

UserAgent, ConnectTimeout, ReadTimeout et MaxResponseSize ajustent le client.

Événements

OnResponse, OnError, OnConnect, OnDisconnect et OnGoAway informent des réponses et du cycle de vie de la connexion.

Continue d'explorer

Aide en ligneRéférence API complète et guide d'utilisation de sgcQUIC.
Tous les composants sgcQUICExplore la matrice complète des fonctionnalités des quatre composants.
Télécharger l'essai gratuitExécute le client HTTP/3 contre n'importe quelle origine compatible HTTP/3.
TarifsLicences Single, Team et Site avec code source complet.
Meilleur rapport qualité-prix : All-AccessTous les produits eSeGeCe, Support Premium inclus, à partir de €1,059/an.
Voir les tarifs All-Access

Prêt à te lancer ?

Télécharge l'essai gratuit et envoie ta première requête HTTP/3 depuis Delphi, C++ Builder et .NET.