Componente Cliente HTTP/3 — sgcQUIC | eSeGeCe

Cliente HTTP/3

TsgcHTTP3Client — um cliente HTTP/3 (RFC 9114) que envia requisições sobre QUIC com compressão de cabeçalhos QPACK, descoberta via Alt-Svc, server push, túneis Extended CONNECT e sessões WebTransport. A mesma semântica HTTP que você conhece, sobre um novo transporte, em Delphi, C++ Builder e .NET.

TsgcHTTP3Client

Conecte-se a um host e uma porta, depois envie requisições com os verbos que você já usa. QPACK, Alt-Svc, push e WebTransport são expostos como métodos e eventos. Construído sobre o mecanismo QUIC nativo do OpenSSL 3.5.

Classe do componente

TsgcHTTP3Client

Protocolo

HTTP/3 (RFC 9114) sobre QUIC

Família

HTTP/3

Linguagens

Delphi, C++ Builder, .NET

Uma requisição GET sobre HTTP/3

Conecte-se a um host e uma porta, depois envie requisições. A porta padrão é 443. Os cabeçalhos são comprimidos com QPACK, e OnAltSvc informa quando o HTTP/3 é anunciado.

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

Principais propriedades & métodos

Os membros que você usa com mais frequência.

Requisições

Get, Head, Post, Put, Delete e os demais verbos (incluindo o método QUERY do IETF) executam como chamadas bloqueantes, a maioria com uma variante assíncrona.

Conexão

Connect(aHost, aPort) e Disconnect abrem e fecham a conexão QUIC; Host e Port informam o destino atual.

Alt-Svc e push

OnAltSvc revela a disponibilidade do HTTP/3; SetMaxPushId, OnPushPromise e OnPush controlam o server push.

Túneis e WebTransport

ExtendedConnect, TunnelSend e OnTunnelData governam os túneis do RFC 9220; WebTransportConnect abre uma sessão WebTransport.

Ajustes

UserAgent, ConnectTimeout, ReadTimeout e MaxResponseSize ajustam o cliente.

Eventos

OnResponse, OnError, OnConnect, OnDisconnect e OnGoAway informam as respostas e o ciclo de vida da conexão.

Continue explorando

Ajuda onlineReferência completa da API e guia de uso do sgcQUIC.
Todos os Componentes sgcQUICExplore a matriz de recursos completa dos quatro componentes.
Baixar Versão de Avaliação GratuitaExecute o cliente HTTP/3 contra qualquer origem com HTTP/3 habilitado.
PreçosLicenças Single, Team e Site com código-fonte completo.
Melhor custo-benefício: All-AccessTodos os produtos da eSeGeCe, com Suporte Premium incluído, a partir de €1,059/ano.
Ver preços do All-Access

Pronto para Começar?

Baixe a versão de avaliação gratuita e envie sua primeira requisição HTTP/3 a partir de Delphi, C++ Builder e .NET.