sgcHTTP HTTP 서버, HTTP/2와 gRPC, Delphi에서 네이티브로. Google Cloud도 지원해요.

HTTP 서버 하나와 클라이언트 컴포넌트 다섯 개예요. TsgcHTTPServer는 내 애플리케이션에서 HTTP 엔드포인트와 정적 파일을 제공해요. TsgcHTTP2Client는 하나의 TLS 연결 위에서 멀티플렉싱 스트림과 HPACK 헤더 압축을 사용해 HTTP/2로 통신해요. TsgcGRPCClient는 그 위에 구축된 gRPC 클라이언트로, 단항 호출과 스트리밍 Protocol Buffers 호출을 지원해요. 나머지 세 클래스는 일반 HTTPS로 Google Cloud(Pub/Sub, Calendar, Firebase Cloud Messaging)에 접속해요.

sgcWebSockets의 독립형 패키지이며 Core 런타임이 포함돼 있어요. 가격 보기 →
  • HTTP/2
  • gRPC
  • Google Cloud
  • HPACK & ALPN
  • Delphi 7~13
  • C++ Builder
  • 3팔레트 컴포넌트: HTTP 서버, HTTP/2 클라이언트, gRPC 클라이언트
  • 5전체 클라이언트 클래스
  • 3Google Cloud 서비스: Pub/Sub, Calendar, FCM
  • 1독립형 설치 프로그램, Core 런타임 포함
  • 100%모든 라이선스에 소스 코드 포함
직접 실행해 보기

2분 만에 보는 sgcHTTP.

해설과 자막이 있는 퀵스타트예요. HTTP/2 클라이언트가 하나의 연결로 많은 요청을 보내고, 같은 전송 계층 위에서 gRPC 호출이 이어지는 과정을 모두 Delphi로 보여 드려요. 재생을 누르기 전에는 아무것도 다운로드되지 않아요.

sgcHTTP 퀵스타트

Delphi에서 HTTP/2 엔드포인트를 호출하고 gRPC 호출을 해 보세요.

  1. HTTP/2 클라이언트 만들기TsgcHTTP2Client를 만들고 OnHTTP2Response를 처리한 다음 Get을 호출하세요. h2 프로토콜은 TLS 핸드셰이크 중에 ALPN으로 협상돼요.
  2. 요청은 많이, 연결은 하나요청이 독립된 스트림으로 하나의 TCP 연결을 공유하므로, 느린 응답 하나가 뒤따르는 다른 응답을 막지 않아요.
  3. 같은 전송 계층 위의 gRPCHTTP/2 클라이언트를 gRPC 클라이언트에 할당하고 서비스와 이름으로 메서드를 호출하세요. 메시지는 길이 접두사가 붙은 Protocol Buffers로 전송돼요.
  4. RPC 패턴 4가지단항, 서버 스트리밍, 클라이언트 스트리밍, 양방향 스트리밍을 지원하며, 각각 TsgcGRPCClient에 전용 메서드가 있어요.
팔레트 컴포넌트 2개

HTTP/2 클라이언트와 그 위에서 동작하는 gRPC.

두 컴포넌트는 모두 sgcHTTP유닛에 선언되어 있고, TsgcGRPCClient는 Client 속성을 통해 자체 HTTP/2 연결을 가져요.

sgcHTTP 퀵스타트의 HTTP/2 클라이언트: Delphi 코드와 하나의 소켓으로 진행 중인 요청 6개

하나의 TLS 연결 위에서 멀티플렉싱되는 스트림

TsgcHTTP2Client는 HTTP/2(RFC 9113)를 사용해요. 여러 요청이 독립된 스트림으로 하나의 TCP 연결을 공유해요. 헤더는 HPACK으로 압축되고, h2는 TLS 핸드셰이크 중에 ALPN으로 협상돼요. 모든 HTTP 메서드를 다뤄요: Get, Post, Put, Patch, Delete 및 Options 메서드 모두, 각각 동기 호출과 Async 버전이 함께 제공돼요.

sgcHTTP 퀵스타트의 gRPC: TsgcHTTP2Client를 전송 계층으로 사용하는 TsgcGRPCClient와 나열된 4가지 RPC 패턴

HTTP/2 클라이언트 위의 unary 및 스트리밍 RPC

TsgcGRPCClient는 멀티플렉싱 연결을 그대로 이어받고, 그 위에 gRPC 전송 형식을 더해요. Call 및 CallAsync는 단항 RPC를 담당하고, ServerStreamingCall은 하나의 요청에 대한 응답 스트림을 처리하며, OpenClientStream 및 OpenBidiStream는 클라이언트 스트리밍과 양방향 스트리밍을 담당해요. RetryPolicy, Interceptors 및 ServiceConfig는 호출 지점을 건드리지 않고도 재시도 동작과 횡단 관심사 로직을 더해 줘요.

서버 1개, 클라이언트 클래스 5개

의존성은 다섯 개가 아니라 두 개예요.

다섯 클래스는 필요로 하는 기반에 따라 깔끔하게 나뉘어요. HTTP/2와 gRPC에는 ALPN이 필요해서 sgcCustomIndy를 써야 해요. Google Cloud는 HTTPS와 서비스 계정만 있으면 되고, 이는 포함된 Core 런타임이 이미 제공해요. HTTP 서버는 그 런타임 자체에서 제공돼요.

HTTP 서버

TsgcHTTPServer는 내 애플리케이션에서 HTTP 엔드포인트를 제공해요. Port를 설정하고 OnCommandGet을 처리한 다음 Active를 설정하면 모든 요청이 내 코드에 전달돼요. OnCommandOther는 PUT, DELETE 같은 메서드를 처리해요. 포함된 Core 런타임과 함께 제공돼요.

정적 파일과 업로드

DocumentRoot를 폴더로 지정하면 서버가 그 폴더의 정적 파일을 반환해요. HTTPUploadFiles는 업로드된 파일을 디스크에 저장하고, MaxRequestBodySize는 요청 본문 크기를 제한하며, HTTPCompression과 KeepAlive는 응답을 작게, 연결은 열린 상태로 유지해요.

운영 환경 준비 완료

SSL과 SSLOptions로 TLS를 켜고, Authentication과 OnAuthentication으로 엔드포인트를 보호하며, SessionState로 세션을 추적하고, ThreadPool과 MaxConnections로 확장 방식을 제어해요. WebSocket 서버와 같은 엔진이지만 WebSocket 부분은 빠져 있어요.

HTTP/2

TsgcHTTP2Client는 독립된 스트림을 하나의 TLS 연결로 멀티플렉싱하고, HPACK으로 헤더를 압축하며, ALPN으로 h2를 협상해요. Connect, Get, Post, Put, Patch, Delete 및 Options동기식 또는 Async.

gRPC

TsgcGRPCClient는 HTTP/2 클라이언트 위에서 동작해요. 길이 접두사가 붙은 Protocol Buffers 메시지를 HTTP/2 스트림으로 주고받으며, 단항, 서버 스트리밍, 클라이언트 스트리밍, 양방향 RPC와 재시도 정책, 인터셉터를 지원해요.

Google Cloud, 일반 HTTPS

TsgcHTTPGoogleCloud_PubSub_Client, TsgcHTTPGoogleCloud_Calendar_Client 및 TsgcHTTPGoogleCloud_FCM_Client는 Google 서비스 계정으로 인증해 Pub/Sub, Calendar, Firebase Cloud Messaging에 접속해요. 어느 것도 sgcCustomIndy가 필요하지 않아요.

서버 푸시와 청크 본문

이벤트로 연결 생명 주기를 확인할 수 있어요: OnHTTP2Connect, OnHTTP2Response, OnHTTP2ResponseFragment (청크 본문용), OnHTTP2PushPromise (서버 푸시용), OnHTTP2GoAway 및 OnHTTP2Disconnect. 스트림 생명 주기의 어떤 부분도 숨겨져 있지 않아요.

둘에는 의존성 하나, 셋에는 없음

HTTP/2 및 gRPC 클라이언트는 sgcCustomIndy를 기반으로 하며, sgcWebSockets와 같은 플랫폼 범위를 지원해요. Google Cloud 클라이언트는 일반 HTTPS라서 Core 런타임이 동작하는 곳이면 어디서나 실행돼요. Delphi 7부터 RAD Studio 13, 그리고 C++ Builder까지 지원해요.

전체 소스 포함

모든 라이선스에 HTTP 서버, 클라이언트 5종 전체와 포함된 런타임의 전체 소스가 들어 있어서, 와이어 수준 구현을 내 디버거에서 직접 한 단계씩 따라가 볼 수 있어요. 배포는 로열티가 없어요.

코드

HTTP 서버, HTTP/2와 gRPC, 나란히 비교해 보세요.

컴포넌트를 만들고, 포트를 설정하거나 호스트를 지정하고, 이벤트를 연결한 다음 시작하세요. 같은 코드가 Delphi 7~13과 C++ Builder에서 컴파일돼요.

uses
  sgcHTTP;
var
  HTTP2: TsgcHTTP2Client;
begin
  // HTTP/2: multiplexed requests over one TLS connection
  HTTP2 := TsgcHTTP2Client.Create(nil);
  HTTP2.Host := 'https://api.example.com';
  HTTP2.OnHTTP2Response := HTTP2Response;
  HTTP2.Active := True;

  HTTP2.GetAsync('/v1/status');
end;

procedure TForm1.HTTP2Response(Sender: TObject;
  const Connection: TsgcHTTP2ConnectionClient;
  const Request: TsgcHTTP2RequestProperty;
  const Response: TsgcHTTP2ResponseProperty);
begin
  Memo1.Lines.Add(Response.DataString);
end;
uses
  sgcHTTP;
var
  GRPC: TsgcGRPCClient;
begin
  // gRPC: built on the HTTP/2 client, unary and streaming RPC
  GRPC := TsgcGRPCClient.Create(nil);
  GRPC.Client.Host := 'https://grpc.example.com';
  GRPC.OnGRPCResponse := GRPCResponse;

  GRPC.CallAsync('example.OrderService', 'GetOrder', RequestBytes);
end;

procedure TForm1.GRPCResponse(Sender: TObject;
  const aResponse: TsgcGRPCResponse);
begin
  Memo1.Lines.Add(aResponse.DataString);
end;
uses
  sgcHTTP_Server;
var
  Server: TsgcHTTPServer;
begin
  // HTTP server: endpoints and static files
  Server := TsgcHTTPServer.Create(nil);
  Server.Port := 8080;
  Server.DocumentRoot := 'C:\www';
  Server.OnCommandGet := ServerCommandGet;
  Server.Active := True;
end;

procedure TForm1.ServerCommandGet(AContext: TIdContext;
  ARequestInfo: TIdHTTPRequestInfo;
  AResponseInfo: TIdHTTPResponseInfo);
begin
  if ARequestInfo.Document = '/api/status' then
  begin
    AResponseInfo.ContentType := 'application/json';
    AResponseInfo.ContentText := '{"status":"ok"}';
  end;
end;
  1. 클라이언트 만들기클라이언트는 sgcHTTP 유닛에, 서버는 sgcHTTP_Server에 있어요. TsgcGRPCClient는 Client 속성으로 자체 HTTP/2 연결을 가져요.
  2. 호스트 지정하기https:// 호스트만 있으면 돼요. ALPN이 TLS 핸드셰이크 중에 h2를 협상하고, HPACK이 헤더를 압축해요.
  3. 응답 이벤트 연결하기OnHTTP2Response와 OnGRPCResponse는 요청과 연결 정보가 함께 담긴 디코딩된 본문을 전달해요.
  4. 동기 또는 비동기로 전송모든 메서드와 모든 RPC에 블로킹 호출과 Async 짝이 있어서 UI 스레드가 자유로워요.

Object Pascal과 C++ Builder에서 구조는 똑같아요. 전체 기능 매트릭스 보기 →

구매 전에

먼저 알아 두면 좋은 두 가지

sgcHTTP에 무엇이 필요한지, 그리고 무엇이 필요하지 않은지. 두 답 모두 짧고, 깨알 같은 약관이 아니라 바로 이 페이지에 있어요.

클라이언트별 의존성
class                               needs sgcCustomIndy
TsgcHTTPServer                      no, ships with the Core runtime
TsgcHTTP2Client                     yes, for ALPN
TsgcGRPCClient                      yes, rides on TsgcHTTP2Client
TsgcHTTPGoogleCloud_PubSub_Client   no, plain HTTPS
TsgcHTTPGoogleCloud_Calendar_Client no, plain HTTPS
TsgcHTTPGoogleCloud_FCM_Client      no, plain HTTPS

HTTP/2 negotiates h2 with ALPN during the TLS handshake.
  The standard Indy library that ships with RAD Studio
  has no ALPN support, so both HTTP/2 and gRPC are built
  on sgcCustomIndy instead.

sgcHTTP는 단독 제품이에요

sgcWebSockets Core 런타임이 포함돼 있어요. HTTP 서버, 모든 클라이언트가 요청을 보내는 HTTP/TLS 클라이언트 스택, 그리고 Google Cloud 응답을 디코딩하는 JSON 계층이에요. 설치 프로그램 하나에 전체 소스 코드가 들어 있어요.

HTTP/2와 gRPC에는 sgcCustomIndy가 필요해요

표준 Indy 라이브러리는 ALPN 협상을 지원하지 않기 때문에 TsgcHTTP2Client와 이를 기반으로 하는 TsgcGRPCClient는 표준 Indy 대신 sgcCustomIndy를 기반으로 해요. sgcHTTP를 주문하면 항상 포함되며, 표시된 가격에 이미 포함되어 있어요.

Google Cloud에는 HTTPS만 있으면 돼요

세 개의 Google Cloud 클라이언트는 Google 서비스 계정의 프로젝트 ID, 클라이언트 이메일, 개인 키로 인증하고, Core 런타임의 순수 HTTPS 스택으로 REST API를 호출해요. 네이티브 라이브러리도, sgcCustomIndy도 필요하지 않아요.

Delphi와 C++ Builder

sgcHTTP는 Delphi 7부터 RAD Studio 13까지, 그리고 C++ Builder를 지원해요. 같은 컴포넌트들이 sgcWebSockets Enterprise에도 들어 있으므로, 이미 Enterprise 또는 All-Access 라이선스가 있다면 해당될 수 있어요. 체험판 설치 프로그램은 sgcWebSockets All-Access 체험판이라서 HTTP 서버와 5개 클라이언트를 모두 지금 바로 평가할 수 있어요.

sgcHTTP는 벤더 SDK를 감싸지 않고 공개된 HTTP/2, gRPC, Google Cloud REST 사양을 그대로 구현하므로, 스트림, 헤더, RPC, 푸시 알림이 모두 일급 메서드와 이벤트로 제공되고, 전체 소스 코드 덕분에 그 사이에 블랙박스는 하나도 없어요.

sgcWebSockets의 일부

sgcWebSockets의 단일 패키지이며 별도로 라이선스돼요.

sgcHTTP는 기반이 되는 sgcWebSockets Core 런타임을 포함하고, HTTP/2와 gRPC에 필요한 sgcCustomIndy 애드온도 항상 포함돼요. 모든 라이선스에 전체 소스 코드와 로열티 없는 배포가 포함돼요.

Single

개발자 1명 라이선스예요. 한 번에 한 대의 컴퓨터에서 사용해요.

€398

Team

개발자 2명 라이선스예요. 한 번에 두 대의 컴퓨터에서 사용해요.

€648

Site

개발자 수 제한이 없어요. 회사의 모든 컴퓨터에서 사용해요.

€1,048

Delphi와 C++ Builder용 HTTP/2, gRPC, Google Cloud 클라이언트 컴포넌트이며 sgcWebSockets Core 런타임이 포함돼 있어요. 이미 sgcWebSockets Enterprise를 쓰고 있나요? 같은 컴포넌트가 그 안에도 들어 있어요.

가격 및 라이선스 보기
고객 후기

개발자들의 평가

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

sgcWebSockets 라이브러리는 정말 유용하고 설정하기 쉬워요. 앞으로도 좋은 작업 부탁드려요!
Simone Moretti Delphi 개발자
sgcWebSockets는 정말 훌륭하고 지원도 최고예요!
Christian Meyer 창립자 및 CTO
도움과 지원에 정말 감사드려요. 컴포넌트가 너무 마음에 들어요.
Mark Steinfeld CTO

네이티브 코드로 만나는 최신 HTTP, gRPC, Google Cloud.

HTTP 서버, 멀티플렉싱 HTTP/2, 스트리밍 gRPC, 그리고 세 개의 Google Cloud 클라이언트까지, sgcWebSockets Core 런타임이 함께 제공되고 전체 소스 코드가 상자 안에 들어 있어요.

eSeGeCe의 다른 제품

eSeGeCe의 다른 제품

sgcHTTP는 Delphi, C++ Builder, .NET용 다른 eSeGeCe 컴포넌트 라이브러리와 같은 규칙을 공유해요. 전체 소스와 함께 제공되며, 로열티 없이 배포할 수 있어요.

sgcWebSockets

Delphi, C++ Builder, Lazarus, .NET을 위한 WebSocket, HTTP/2, MQTT, AMQP, WebRTC, AI 및 30개 이상의 API 통합이에요. Enterprise 에디션에는 gRPC도 포함되어 있어요.

sgcREST

Delphi와 C++ Builder용 REST 서버, OpenAPI 서버, OpenAPI 클라이언트 컴포넌트예요. OpenAPI 3.x 계약으로 REST API를 게시하거나, OpenAPI로 설명된 모든 API를 호출해 보세요.

sgcAuth

Delphi와 C++ Builder용 OAuth2 클라이언트, JWT 클라이언트, WebAuthn 지원이에요. 독립형이며 sgcWebSockets Core 런타임이 포함돼요.

sgcMQ

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

sgcSocial

Delphi와 C++ Builder를 위한 Telegram 및 WhatsApp Business 클라이언트 컴포넌트예요. 단독 제품이며 sgcWebSockets Core 런타임이 번들로 포함돼요.

sgcAI

Delphi와 C++ Builder를 위한 AI, LLM, MCP 컴포넌트예요. 컴포넌트 하나로 일곱 개 LLM 제공업체를 사용하고, MCP와 임베딩, 음성까지 지원해요.

sgcHTML

Delphi, C++ Builder, .NET용 Bootstrap 5와 htmx 기반 서버 측 HTML 및 UI 컴포넌트예요.

sgcQUIC

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

sgcOpenAPI

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

sgcSign

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

sgcPDF

PDF 파일을 만들고, 편집하고, 보고, 서명하고, 가리고, 검증하는 기능을 순수 Object Pascal로 제공해요. 배포할 DLL이 없고, 별도로 라이선스돼요.

sgcBiometrics

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

sgcIndy

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

블로그 최신 소식

모든 글 보기 →

지금 eSeGeCe의 HTTP 서버, HTTP/2 & gRPC 관점을 보고 있어요.

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