Componente cliente HTTP/3 — sgcQUIC | eSeGeCe

Cliente HTTP/3

TsgcHTTP3Client — un cliente HTTP/3 (RFC 9114) que envía peticiones sobre QUIC con compresión de cabeceras QPACK, descubrimiento con Alt-Svc, server push, túneles Extended CONNECT y sesiones de WebTransport. La misma semántica HTTP que conoces, sobre un nuevo transporte, en Delphi, C++ Builder y .NET.

TsgcHTTP3Client

Conéctate a un host y un puerto, luego lanza peticiones con los verbos que ya usas. QPACK, Alt-Svc, push y WebTransport se exponen como métodos y eventos. Construido sobre el motor QUIC nativo de OpenSSL 3.5.

Clase del componente

TsgcHTTP3Client

Protocolo

HTTP/3 (RFC 9114) sobre QUIC

Familia

HTTP/3

Lenguajes

Delphi, C++ Builder, .NET

Una petición GET sobre HTTP/3

Conéctate a un host y un puerto, luego lanza peticiones. El puerto por defecto es 443. Las cabeceras se comprimen con QPACK, y OnAltSvc te indica cuándo se anuncia HTTP/3.

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");

Propiedades y métodos clave

Los miembros que más usarás.

Peticiones

Get, Head, Post, Put, Delete y los demás verbos (incluido el método QUERY del IETF) se ejecutan como llamadas bloqueantes, la mayoría con una variante asíncrona.

Conexión

Connect(aHost, aPort) y Disconnect abren y cierran la conexión QUIC; Host y Port informan del destino actual.

Alt-Svc y push

OnAltSvc expone la disponibilidad de HTTP/3; SetMaxPushId, OnPushPromise y OnPush controlan el server push.

Túneles y WebTransport

ExtendedConnect, TunnelSend y OnTunnelData gobiernan los túneles RFC 9220; WebTransportConnect abre una sesión de WebTransport.

Ajustes

UserAgent, ConnectTimeout, ReadTimeout y MaxResponseSize ajustan el cliente.

Eventos

OnResponse, OnError, OnConnect, OnDisconnect y OnGoAway informan de las respuestas y del ciclo de vida de la conexión.

Sigue explorando

Ayuda en líneaReferencia completa de la API y guía de uso de sgcQUIC.
Todos los componentes sgcQUICExplora la matriz de características completa de los cuatro componentes.
Descargar prueba gratuitaEjecuta el cliente HTTP/3 contra cualquier origen con HTTP/3 habilitado.
PreciosLicencias Single, Team y Site con código fuente completo.
La mejor opción: All-AccessTodos los productos de eSeGeCe, con Premium Support incluido, desde €1,059 al año.
Ver precios de All-Access

¿Listo para empezar?

Descarga la prueba gratuita y envía tu primera petición HTTP/3 desde Delphi, C++ Builder y .NET.