eSeGeCe — Delphi 및 .NET용 엔터프라이즈 통신 컴포넌트
추천 · sgcQUIC

왕복을 건너뛰세요

TCP와 TLS는 응답의 첫 바이트가 도착하기까지 왕복 3회가 필요해요. QUIC는 전송 계층과 암호화 핸드셰이크를 하나로 합치고, 재개된 연결은 첫 번째 패킷에서 곧바로 데이터를 보낼 수 있어요. sgcQUIC는 Delphi, C++ Builder, .NET에 네이티브 QUIC 전송과 그 위에 구축된 HTTP/3 클라이언트 및 서버를 제공하며, OpenSSL 3.5 QUIC 엔진 위에서 동작해요.

  • RFC 9000, 9114, 9204
  • WebTransport (RFC 9220)
  • 0-RTT 및 연결 마이그레이션
  • Delphi · C++ Builder · .NET

QUIC와 HTTP/3, RFC 그대로

sgcQUIC는 부분적인 구현이 아니에요. 전송, 프레이밍, 헤더 압축, WebTransport 확장까지 모두 다루며, 네이티브 OpenSSL 3.5 QUIC 엔진 위에서 동작해요.

4 컴포넌트 TsgcQUICClient, TsgcQUICServer, TsgcHTTP3Client, TsgcHTTP3Server가 팔레트 한 페이지에 모여 있어요.
9000 RFC 9000 QUIC 전송 프로토콜이에요. 스트림, 데이터그램, 흐름 제어, 연결 마이그레이션을 다뤄요.
9114 RFC 9114 HTTP/3는 HTTP/2와 동일한 요청 및 응답 시맨틱을 QUIC 스트림 위에 실어요.
9204 RFC 9204 QUIC의 순서 없는 스트림 전달에 맞게 설계된 QPACK 헤더 압축이에요.
9220 RFC 9220 HTTP/3 위의 WebTransport로, Extended CONNECT 요청 하나로 양방향 스트림과 데이터그램을 제공해요.
sgcQUIC

Delphi, C++ Builder, .NET을 위한 원시 QUIC 전송과 HTTP/3 클라이언트 및 서버예요. 동일한 네이티브 OpenSSL 3.5 QUIC 엔진 기반의 sgcWebSockets Enterprise 애드온으로, 전체 소스와 로열티 없는 배포를 제공해요.

원시 QUIC, 또는 그 위의 HTTP/3

직접 프레이밍을 다루는 순수 전송에는 TsgcQUICClientTsgcQUICServer를, 와이어 포맷이 HTTP라면 곧바로 TsgcHTTP3ClientTsgcHTTP3Server를 사용하세요.

RFC 9000

QUIC 클라이언트 및 서버

TsgcQUICClientTsgcQUICServer는 순수 QUIC를 다뤄요. 암호화된 연결 하나에 여러 개의 독립적인 스트림, 신뢰성 없는 데이터그램, 그리고 클라이언트의 IP 주소가 세션 도중 바뀌어도 유지되는 연결 마이그레이션을 제공해요.

QUIC 컴포넌트 보기 →
RFC 9114

HTTP/3 클라이언트 및 서버

TsgcHTTP3ClientTsgcHTTP3Server는 그 위에 HTTP 시맨틱을 얹어요. QPACK으로 압축된 요청 및 응답 헤더, Alt-Svc 검색, 그리고 기존 HTTP/2 코드가 이미 사용하는 것과 동일한 메서드와 상태 코드를 제공해요.

HTTP/3 컴포넌트 보기 →
0-RTT

세션 재개

이전에 연결한 적이 있는 클라이언트는 핸드셰이크가 끝나기도 전에, 바로 첫 번째 패킷에 첫 요청을 실어 보낼 수 있어요.

Migration

연결 마이그레이션

연결 ID가 IP 주소 대신 세션을 식별하므로, 휴대폰이 Wi-Fi에서 셀룰러로 옮겨가도 스트림은 계속 열려 있어요.

WebTransport

RFC 9220

WebTransport를 지원하는 브라우저 클라이언트를 위해, Extended CONNECT 요청 하나로 양방향 스트림과 신뢰성 없는 데이터그램을 제공해요.

QUIC 및 HTTP/3 컴포넌트를 위한 단계별 가이드예요:

HTTP/3로 보내는 요청 하나

다른 sgcWebSockets HTTP 클라이언트와 똑같은 모양이에요. 속성을 설정하고, 이벤트를 처리하고, 메서드를 호출하면 돼요.

uses
  sgcHTTP3_Client;
var
  vClient: TsgcHTTP3Client;
begin
  vClient := TsgcHTTP3Client.Create(nil);
  vClient.Host := 'api.example.com';
  vClient.Port := 443;
  vClient.OnResponse :=
    procedure(Sender: TObject; const AStatus: Integer; const ABody: string)
    begin
      Memo1.Lines.Add(Format('%d: %s', [AStatus, ABody]));
    end;
  vClient.OnAltSvc :=
    procedure(Sender: TObject; const AAltSvc: string)
    begin
      Memo1.Lines.Add('Alt-Svc: ' + AAltSvc);  // h3 advertised over HTTP/2
    end;
  vClient.Connect;
  vClient.Get('/pets/42');
end;
uses
  sgcQUIC_Client;
var
  vQUIC: TsgcQUICClient;
begin
  vQUIC := TsgcQUICClient.Create(nil);
  vQUIC.Host := 'quic.example.com';
  vQUIC.Port := 4433;
  vQUIC.EnableMultiStream := True;
  vQUIC.OnQUICConnect :=
    procedure(Sender: TObject)
    var
      vStreamId: Int64;
    begin
      vStreamId := vQUIC.OpenStream;
      vQUIC.WriteData(vStreamId, 'ping');
    end;
  vQUIC.OnQUICStreamData :=
    procedure(Sender: TObject; const AStreamId: Int64; const AData: string)
    begin
      Memo1.Lines.Add(Format('stream %d: %s', [AStreamId, AData]));
    end;
  vQUIC.Active := True;
end;

클라이언트와 서버는 양쪽에서 동일한 연결, 스트림, 데이터그램 모델을 공유해요. 전체 기능 매트릭스 보기 →

포트 하나, 인증서 하나, 프로토콜 둘

TsgcHTTP3Server는 UDP 포트에서 QUIC 위로 HTTP/3를 구사하고, 기존 HTTP/2 서버와 TsgcHTTP3ServerBridge 방식으로 짝을 지으면 레거시 클라이언트는 TCP로 계속 동작해요. Alt-Svc를 알리면 최신 클라이언트가 스스로 업그레이드해요.

HTTP3Server.pas
uses
  sgcHTTP3_Server;

procedure TForm1.FormCreate(Sender: TObject);
begin
  FServer := TsgcHTTP3Server.Create(nil);
  FServer.Port := 443;
  FServer.QUICOptions.SSLOptions.CertFile := 'server.crt';
  FServer.QUICOptions.SSLOptions.KeyFile  := 'server.key';

  // One handler for every incoming HTTP/3 request
  FServer.OnH3Request :=
    procedure(const Ctx: TsgcHTTP3Context)
    begin
      if Ctx.Path = '/pets/42' then
        Ctx.RespondJSON(200, '{"name":"Rex"}')
      else
        Ctx.Respond(404, 'Not found');
    end;

  FServer.Active := True;
end;

이 코드가 해 주는 일

QUIC를 종료하고, h3를 협상하고, 모든 요청을 핸들러 하나로 라우팅하는 Delphi 컴포넌트 하나예요. 기존 HTTP/2 서버가 이미 불러온 것과 동일한 인증서를 사용해요.

Alt-Svc, 그래서 업그레이드는 자동이에요

일반 HTTP/2 응답이 Alt-Svc: h3=":443" 헤더를 실어 보내요. 이를 이해하는 클라이언트는 리다이렉트나 별도 도메인 없이 다음 요청에서 QUIC를 열어요.

WebTransport, 같은 포트에서

Extended CONNECT 요청이 스트림을 WebTransport로 업그레이드해서, 일반 HTTP/3 요청과 나란히 브라우저 클라이언트에 양방향 스트림과 데이터그램을 제공해요.

네이티브 QUIC, 외부 의존성 없음

QUIC와 TLS 1.3 핸드셰이크는 OpenSSL 3.5 자체의 QUIC 엔진 위에서 실행돼요. 따로 빌드하거나 벤더링할 QUIC 라이브러리가 없어요.

OpenSSL 3.5 TLS 1.3 Alt-Svc QPACK WebTransport

HTTP/3 서버 컴포넌트 →

sgcQUIC는 sgcWebSockets Enterprise의 애드온이에요. 그래서 라이선스도, 지원 채널도, 업데이트 주기도 이미 갖고 있는 것을 그대로 사용해요.

아홉 개의 라이브러리, 하나의 도구 상자

sgcQUIC는 Delphi, C++ Builder, .NET을 위한 아홉 개의 eSeGeCe 컴포넌트 라이브러리 중 하나예요. 같은 규칙을 공유하고, 전체 소스와 함께 제공되며, 로열티 없이 배포할 수 있어요.

sgcQUIC

원시 QUIC 전송과 HTTP/3 클라이언트 및 서버, 그리고 WebTransport를 제공해요. sgcWebSockets Enterprise의 애드온이에요.

자세히 알아보기 →

sgcWebSockets

WebSocket, HTTP/2, MQTT, AMQP, WebRTC, AI 및 30개 이상의 API 통합을 제공해요. sgcQUIC가 기반으로 삼는 Enterprise 라이선스예요.

자세히 알아보기 →

sgcHTML

Bootstrap 5와 htmx 기반의 서버 사이드 HTML 및 UI 컴포넌트예요. 렌더링된 UI를 동일한 HTTP/3 전송으로 서비스하세요.

자세히 알아보기 →

sgcAI

Delphi와 C++ Builder를 위한 AI, LLM, MCP 컴포넌트예요. 컴포넌트 하나로 일곱 개 LLM 제공업체를 사용하고, MCP와 임베딩, 음성까지 지원해요. 단독 제품이며 sgcWebSockets Core 런타임이 함께 제공돼요.

자세히 알아보기 →

sgcMQ

Delphi와 C++ Builder를 위한 MQTT, AMQP 0.9.1과 1.0, Apache Kafka, STOMP 클라이언트 컴포넌트예요. 단독 제품이며 sgcWebSockets Core 런타임이 함께 제공돼요.

자세히 알아보기 →

sgcAuth

Delphi와 C++ Builder를 위한 OAuth2 클라이언트, JWT 클라이언트, WebAuthn을 제공해요. 모든 OAuth2/OIDC 공급자로 로그인하고, JWT를 발급 및 검증하고, 네이티브 앱에 패스키 인증을 추가할 수 있어요. 단독 제품이며 sgcWebSockets Core 런타임이 함께 제공돼요.

자세히 알아보기 →

sgcHTTP

Delphi와 C++ Builder를 위한 HTTP/2 클라이언트, gRPC 클라이언트, 그리고 Google Cloud Pub/Sub, Calendar, FCM 클라이언트를 제공해요. 단독 제품이며 sgcWebSockets Core 런타임이 함께 제공돼요.

자세히 알아보기 →

sgcREST

Delphi와 C++ Builder를 위한 REST 서버, OpenAPI 서버, OpenAPI 클라이언트 컴포넌트를 제공해요. OpenAPI 3.x 계약으로 REST API를 게시하거나, OpenAPI로 설명된 모든 API를 사용할 수 있어요. 단독 제품이며 sgcWebSockets Core 런타임이 함께 제공돼요.

자세히 알아보기 →

sgcOpenAPI

OpenAPI 3.x 파서, 네이티브 Pascal SDK 생성기, OpenAPI 서버 컴포넌트, 그리고 1,195개 이상의 사전 빌드 클라우드 SDK를 제공해요.

자세히 알아보기 →

sgcSign

문서에는 XAdES, PAdES, CAdES, ASiC를, 코드에는 Authenticode, ClickOnce, NuGet, VSIX를 제공해요.

자세히 알아보기 →

sgcBiometrics

Delphi와 C++ Builder를 위한 Windows Hello, 지문 센서, Windows Biometric Framework를 제공해요.

자세히 알아보기 →

sgcIndy

Delphi 7부터 13까지 최신 TLS, IPv6, HTTP/2를 갖춘 업데이트된 Indy TCP/IP 컴포넌트예요.

자세히 알아보기 →

가격 및 에디션 보기 무료 체험판 다운로드

개발자들의 평가

전 세계의 Delphi, C++ Builder, Lazarus 및 .NET 개발자가 신뢰해요.

sgcWebSockets 라이브러리는 정말 유용하고 설정하기 쉬워요. 앞으로도 좋은 작업 부탁드려요!

Simone Moretti Delphi 개발자

sgcWebSockets는 정말 훌륭하고 지원도 최고예요!

Christian Meyer 창립자 및 CTO

도움과 지원에 정말 감사드려요. 컴포넌트가 너무 마음에 들어요.

Mark Steinfeld CTO

블로그 최신 소식

모든 글 보기 →

지금 eSeGeCe의 QUIC 관점을 보고 있어요.

다른 관점 보기 →
30일 환불 보장만족하지 않으세요? 구매 후 30일 이내에 전액 환불을 요청하세요. 환불 정책 보기

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

원시 QUIC 전송, HTTP/3 클라이언트 및 서버, 그리고 WebTransport를 OpenSSL 3.5 QUIC 엔진 위에서 제공해요. sgcWebSockets Enterprise의 애드온으로, 전체 소스와 로열티 없는 배포가 함께해요.