sgcQUIC — QUIC & HTTP/3 para Delphi, C++ Builder & .NET

sgcQUIC — QUIC & HTTP/3 para Delphi, C++ Builder & .NET

Uma pilha completa de QUIC e HTTP/3 para Delphi, C++ Builder e .NET. O sgcQUIC oferece quatro componentes de paleta — um cliente e um servidor de transporte QUIC puro (RFC 9000) mais um cliente e um servidor HTTP/3 (RFC 9114) — construídos sobre o mecanismo QUIC nativo do OpenSSL 3.5. Compressão de cabeçalhos QPACK, descoberta via Alt-Svc, 0-RTT, migração de conexão e WebTransport vêm inclusos, e a mesma API funciona em Object Pascal e C#.

Transporte QUIC (RFC 9000)
HTTP/3 (RFC 9114) + QPACK
QUIC nativo do OpenSSL 3.5
Delphi / C++ Builder / .NET
WebTransport (RFC 9220)

A Mesma Semântica HTTP, um Novo Transporte

O HTTP/3 preserva os métodos, códigos de status e cabeçalhos que você já conhece e substitui o TCP pelo QUIC, um transporte baseado em UDP com TLS 1.3 embutido. O sgcQUIC o governa através do suporte QUIC nativo do OpenSSL 3.5, para que você obtenha um transporte moderno a partir de Delphi, C++ Builder ou .NET sem uma biblioteca separada.

Um Único Handshake, Sem Bloqueio de Linha

O QUIC (RFC 9000) combina os handshakes de transporte e de TLS 1.3 em um único envio e elimina o bloqueio de linha (head-of-line blocking) no nível de transporte — um pacote perdido só paralisa os streams cujos dados ele transportava, não a conexão inteira.

Construído Sobre o QUIC Nativo do OpenSSL 3.5

O mecanismo é detectado automaticamente quando o OpenSSL é carregado. Com os binários do OpenSSL 3.5 incluídos, você obtém o mecanismo qmBuiltin, que suporta múltiplos streams por conexão e é o mecanismo em torno do qual os componentes são construídos.

Compressão de Cabeçalhos QPACK

O HTTP/3 comprime os cabeçalhos com QPACK (RFC 9204), o substituto do HPACK no HTTP/3, projetado para a entrega fora de ordem do QUIC, com atualizações da tabela dinâmica transportadas em streams dedicados de codificador e decodificador.

Migração de Conexão

As conexões QUIC são identificadas por um connection ID em vez da quádrupla de endereços, de modo que uma sessão sobrevive à troca de rede do cliente — uma conexão pode acompanhar um dispositivo do Wi-Fi para os dados móveis sem um novo handshake.

0-RTT e Múltiplos Streams

Uma conexão nova se completa em uma única viagem de ida e volta, e uma sessão retomada pode transportar dados 0-RTT no primeiro envio. No mecanismo builtin, EnableMultiStream e OpenStream colocam vários streams QUIC independentes em uma única conexão.

Sessões WebTransport

O WebTransport (RFC 9220) é negociado via Extended CONNECT e entrega streams QUIC diretamente à aplicação, criado para tráfego bidirecional de baixa latência sobre o mecanismo builtin.

Quatro Componentes, Duas Camadas

Um par de transporte QUIC puro para streams e datagramas, e um par HTTP/3 que fala requisição/resposta sobre o mesmo mecanismo. Cada um leva à sua própria página com exemplos em Delphi, C++ Builder e .NET.

TsgcQUICClient

Cliente de transporte QUIC puro. Abre uma conexão QUIC, envia e recebe bytes sobre um ou vários streams (RFC 9000), com 0-RTT e migração de conexão — QUIC sem semântica HTTP.

Ver componente →

TsgcQUICServer

Servidor de transporte QUIC puro. Vincula-se a uma porta UDP, encerra o TLS 1.3 e dispara um evento para cada conexão e stream QUIC, para que você construa seu próprio protocolo sobre o QUIC.

Ver componente →

TsgcHTTP3Client

Cliente HTTP/3 (RFC 9114). Todos os verbos como chamadas bloqueantes ou assíncronas, compressão QPACK, descoberta via Alt-Svc, server push, túneis Extended CONNECT e sessões WebTransport.

Ver componente →

TsgcHTTP3Server

Servidor HTTP/3. Atende requisições sobre QUIC, descende de TsgcQUICServer, dispara um evento por requisição e pode fazer push de respostas, abrir sessões WebTransport e enviar datagramas.

Ver componente →

Veja a matriz completa de recursos →

Uma Requisição GET Sobre HTTP/3

Conecte-se a um host e uma porta, depois envie requisições. A porta padrão é 443. A mesma API em Delphi, C++ Builder e .NET.

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/');   // request over QUIC
  oClient.Disconnect;
end;
// 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/");   // request over QUIC
oClient->Disconnect();
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/");   // request over QUIC
oClient.Disconnect();

Os RFCs que o sgcQUIC Implementa

Uma pilha baseada em padrões, não um transporte proprietário.

RFC 9000 — QUIC

O transporte QUIC: um único handshake combinado de transporte + TLS 1.3, streams independentes, connection IDs e migração. Exposto diretamente através de TsgcQUICClient e TsgcQUICServer.

RFC 9114 — HTTP/3

Semântica HTTP sobre QUIC: os métodos, códigos de status e cabeçalhos que você conhece, mapeados sobre streams QUIC. Implementado por TsgcHTTP3Client e TsgcHTTP3Server.

RFC 9204 — QPACK

Compressão de cabeçalhos para o HTTP/3, projetada para a entrega fora de ordem do QUIC, com uma tabela dinâmica sincronizada por streams dedicados de codificador e decodificador.

RFC 9220 — WebTransport

Inicialização do WebTransport sobre HTTP/3 com Extended CONNECT, entregando à aplicação streams QUIC para tráfego bidirecional de baixa latência.

Um Complemento do sgcWebSockets

O sgcQUIC é licenciado como complemento. Todas as licenças incluem código-fonte completo, 1 ano de atualizações e um desconto de renovação de 70%.

sgcQUIC

€149

Licenças Single, Team e Site disponíveis. Código-fonte completo incluído.

  • TsgcQUICClient & TsgcQUICServer
  • TsgcHTTP3Client & TsgcHTTP3Server
  • Delphi, C++ Builder & .NET
  • Código-Fonte Completo
  • 1 Ano de Atualizações

★ Requer o sgcWebSockets

O sgcQUIC requer o sgcWebSockets Enterprise.

Ver Preços e Comprar
3,000+Developers
20+Years
761+Components
30+API Integrations
5Platforms
Garantia de reembolso de 30 diasNão ficou satisfeito? Solicite o reembolso total em até 30 dias após a compra. Ver política de reembolso

Envie QUIC e HTTP/3 Sem Sair da Sua IDE

Adicione o transporte para o qual a web moderna está migrando — à sua aplicação Delphi, C++ Builder ou .NET, com a linguagem que você já usa.

Outros Produtos da eSeGeCe

Combine o sgcQUIC com nossas outras bibliotecas de componentes para Delphi, C++ Builder e .NET.

sgcWebSockets

Componentes empresariais de WebSocket, HTTP/2, MQTT, AMQP, WebRTC e IA/LLM. O sgcQUIC é um complemento do sgcWebSockets Enterprise.

Saiba mais →

sgcHTML

89 componentes HTML/UI server-side data-aware para Delphi, C++ Builder e .NET, com Bootstrap 5 e htmx.

Saiba mais →

sgcSign

Assinaturas digitais empresariais — XAdES, PAdES, CAdES e ASiC com 10 provedores de chaves e 21 perfis de países da UE.

Saiba mais →

sgcOpenAPI

Parser de OpenAPI 3.0 e gerador de SDK. Transforme qualquer especificação OpenAPI em um cliente Delphi fortemente tipado em segundos.

Saiba mais →

sgcBiometrics

Componentes nativos de Windows Hello, impressão digital e Windows Biometric Framework para Delphi e C++ Builder.

Saiba mais →

sgcIndy

Componentes Indy TCP/IP atualizados com TLS moderno, suporte a IPv6 e HTTP/2 para Delphi 7 a 13.

Saiba mais →