sgcQUIC — Delphi, C++ Builder 및 .NET용 QUIC 및 HTTP/3

sgcQUIC — Delphi, C++ Builder 및 .NET용 QUIC 및 HTTP/3

Delphi, C++ Builder 및 .NET을 위한 완전한 QUIC 및 HTTP/3 스택입니다. sgcQUIC는 네 개의 팔레트 컴포넌트를 제공합니다 — 원시 QUIC 전송 클라이언트 및 서버(RFC 9000)와 HTTP/3 클라이언트 및 서버(RFC 9114)로, OpenSSL 3.5의 네이티브 QUIC 엔진 위에 구축되었습니다. QPACK 헤더 압축, Alt-Svc 검색, 0-RTT, 연결 마이그레이션 및 WebTransport가 기본으로 제공되며, 동일한 API가 Object Pascal과 C# 모두에서 동작합니다.

QUIC 전송(RFC 9000)
HTTP/3(RFC 9114) + QPACK
OpenSSL 3.5 네이티브 QUIC
Delphi / C++ Builder / .NET
WebTransport(RFC 9220)

동일한 HTTP 시맨틱, 새로운 전송 계층

HTTP/3는 이미 익숙한 메서드, 상태 코드, 헤더를 그대로 유지하면서 TCP를 QUIC로 대체합니다. QUIC는 TLS 1.3이 내장된 UDP 기반 전송 계층입니다. sgcQUIC는 OpenSSL 3.5의 네이티브 QUIC 지원을 통해 이를 구동하므로, 별도의 라이브러리 없이도 Delphi, C++ Builder 또는 .NET에서 최신 전송 계층을 사용할 수 있습니다.

한 번의 핸드셰이크, 헤드 오브 라인 블로킹 없음

QUIC(RFC 9000)는 전송 계층과 TLS 1.3 핸드셰이크를 하나의 플라이트로 결합하고, 전송 수준의 헤드 오브 라인 블로킹을 제거합니다 — 패킷 손실이 발생해도 그 데이터를 담고 있던 스트림만 지연될 뿐, 연결 전체가 멈추지 않습니다.

OpenSSL 3.5 네이티브 QUIC 기반

엔진은 OpenSSL이 로드될 때 자동으로 감지됩니다. 함께 제공되는 OpenSSL 3.5 바이너리를 사용하면 연결당 다중 스트림을 지원하는 qmBuiltin 엔진을 얻게 되며, 이 컴포넌트들은 바로 이 엔진을 중심으로 구축되어 있습니다.

QPACK 헤더 압축

HTTP/3는 QPACK(RFC 9204)으로 헤더를 압축합니다. QPACK은 HPACK을 대체하는 HTTP/3 전용 방식으로, QUIC의 순서 없는 전달 특성에 맞게 설계되었으며, 동적 테이블 업데이트는 전용 인코더/디코더 스트림을 통해 전달됩니다.

연결 마이그레이션

QUIC 연결은 주소 4-튜플이 아니라 연결 ID로 식별되므로, 클라이언트가 네트워크를 변경해도 세션이 유지됩니다 — 연결은 새로운 핸드셰이크 없이도 Wi-Fi에서 모바일 데이터로 기기를 따라 이동할 수 있습니다.

0-RTT 및 다중 스트림

새 연결은 단 한 번의 왕복으로 완료되며, 재개된 세션은 첫 번째 플라이트에 0-RTT 데이터를 실을 수 있습니다. 빌트인 엔진에서는 EnableMultiStreamOpenStream을 통해 하나의 연결에 여러 독립적인 QUIC 스트림을 둘 수 있습니다.

WebTransport 세션

WebTransport(RFC 9220)는 Extended CONNECT를 통해 협상되며, 애플리케이션에 QUIC 스트림을 직접 전달합니다. 빌트인 엔진 위에서 저지연 양방향 트래픽을 위해 설계되었습니다.

4개 컴포넌트, 2개 계층

스트림과 데이터그램을 위한 원시 QUIC 전송 페어와, 동일한 엔진 위에서 요청/응답을 처리하는 HTTP/3 페어입니다. 각 컴포넌트는 Delphi, C++ Builder 및 .NET 예제가 포함된 자체 페이지로 연결됩니다.

TsgcQUICClient

원시 QUIC 전송 클라이언트입니다. QUIC 연결을 열고, 하나 또는 여러 스트림(RFC 9000)을 통해 바이트를 주고받으며, 0-RTT와 연결 마이그레이션을 지원합니다 — HTTP 시맨틱이 없는 순수 QUIC입니다.

컴포넌트 보기 →

TsgcQUICServer

원시 QUIC 전송 서버입니다. UDP 포트를 바인딩하고, TLS 1.3을 종료하며, 모든 QUIC 연결과 스트림에 대해 이벤트를 발생시켜, QUIC 위에 자신만의 프로토콜을 구축할 수 있게 합니다.

컴포넌트 보기 →

TsgcHTTP3Client

HTTP/3 클라이언트(RFC 9114)입니다. 모든 메서드를 블로킹 또는 비동기 호출로 지원하며, QPACK 압축, Alt-Svc 검색, 서버 푸시, Extended CONNECT 터널, WebTransport 세션을 제공합니다.

컴포넌트 보기 →

TsgcHTTP3Server

HTTP/3 서버입니다. QUIC를 통해 요청을 처리하며, TsgcQUICServer를 상속하고, 요청마다 이벤트를 발생시키며, 응답 푸시, WebTransport 세션 개설, 데이터그램 전송이 가능합니다.

컴포넌트 보기 →

전체 기능 매트릭스 보기 →

HTTP/3를 통한 GET 요청

호스트와 포트에 연결한 다음 요청을 보냅니다. 기본 포트는 443입니다. Delphi, C++ Builder, .NET에서 동일한 API를 사용합니다.

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

sgcQUIC가 구현하는 RFC

독자적인 전송 방식이 아닌, 표준 기반 스택입니다.

RFC 9000 — QUIC

QUIC 전송 계층입니다. 전송과 TLS 1.3 핸드셰이크를 하나로 결합하고, 독립적인 스트림, 연결 ID, 마이그레이션을 제공합니다. TsgcQUICClientTsgcQUICServer를 통해 직접 노출됩니다.

RFC 9114 — HTTP/3

QUIC 위에서의 HTTP 시맨틱입니다. 익숙한 메서드, 상태 코드, 헤더가 QUIC 스트림에 매핑됩니다. TsgcHTTP3ClientTsgcHTTP3Server가 구현합니다.

RFC 9204 — QPACK

HTTP/3용 헤더 압축입니다. QUIC의 순서 없는 전달 특성에 맞게 설계되었으며, 동적 테이블은 전용 인코더/디코더 스트림을 통해 동기화됩니다.

RFC 9220 — WebTransport

Extended CONNECT를 사용해 HTTP/3 위에서 WebTransport를 부트스트래핑하며, 저지연 양방향 트래픽을 위해 애플리케이션에 QUIC 스트림을 전달합니다.

sgcWebSockets의 애드온

sgcQUIC는 애드온 형태로 라이선스가 제공됩니다. 모든 라이선스에는 전체 소스 코드, 1년간의 업데이트, 70% 갱신 할인이 포함됩니다.

sgcQUIC

€149

Single, Team, Site 라이선스를 제공합니다. 전체 소스 코드가 포함됩니다.

  • TsgcQUICClient & TsgcQUICServer
  • TsgcHTTP3Client & TsgcHTTP3Server
  • Delphi, C++ Builder & .NET
  • 전체 소스 코드
  • 1년 업데이트

★ sgcWebSockets 필요

sgcQUIC를 사용하려면 sgcWebSockets Enterprise가 필요합니다.

가격 보기 & 주문
3,000+Developers
20+Years
761+Components
30+API Integrations
5Platforms
30일 환불 보장만족하지 않으세요? 구매 후 30일 이내에 전액 환불을 요청하세요. 환불 정책 보기

IDE를 벗어나지 않고 QUIC와 HTTP/3를 배포하세요

최신 웹이 나아가는 전송 계층을, 이미 사용 중인 언어로 Delphi, C++ Builder 또는 .NET 애플리케이션에 추가하세요.

eSeGeCe의 다른 제품

sgcQUIC를 당사의 다른 Delphi, C++ Builder 및 .NET 컴포넌트 라이브러리와 함께 사용하세요.

sgcWebSockets

엔터프라이즈 WebSocket, HTTP/2, MQTT, AMQP, WebRTC 및 AI/LLM 컴포넌트입니다. sgcQUIC는 sgcWebSockets Enterprise의 애드온입니다.

자세히 보기 →

sgcHTML

Delphi, C++ Builder 및 .NET용 89개의 데이터 연동 서버 사이드 HTML/UI 컴포넌트로, Bootstrap 5와 htmx를 지원합니다.

자세히 보기 →

sgcSign

엔터프라이즈 디지털 서명 — 10개 키 제공자와 21개 EU 국가 프로필을 갖춘 XAdES, PAdES, CAdES 및 ASiC.

자세히 보기 →

sgcOpenAPI

OpenAPI 3.0 파서 및 SDK 생성기입니다. 어떤 OpenAPI 사양이든 몇 초 만에 강력한 형식의 Delphi 클라이언트로 전환합니다.

자세히 보기 →

sgcBiometrics

Delphi 및 C++ Builder용 네이티브 Windows Hello, 지문 및 Windows Biometric Framework 컴포넌트입니다.

자세히 보기 →

sgcIndy

Delphi 7부터 13까지 지원하는 최신 TLS, IPv6, HTTP/2를 갖춘 업데이트된 Indy TCP/IP 컴포넌트입니다.

자세히 보기 →