HTTP/3 クライアントコンポーネント — sgcQUIC | eSeGeCe

HTTP/3 クライアント

TsgcHTTP3Client — QPACK ヘッダー圧縮、Alt-Svc によるディスカバリー、サーバープッシュ、Extended CONNECT トンネル、WebTransport セッションに対応し、QUIC 上でリクエストを送信する HTTP/3 クライアント(RFC 9114)です。おなじみの HTTP セマンティクスを、新しいトランスポート上で、Delphi、C++ Builder、.NET から利用できます。

TsgcHTTP3Client

ホストとポートに接続し、すでに使い慣れたメソッドでリクエストを発行します。QPACK、Alt-Svc、プッシュ、WebTransport はメソッドとイベントとして公開されます。OpenSSL 3.5 のネイティブ QUIC エンジン上に構築されています。

コンポーネントクラス

TsgcHTTP3Client

プロトコル

QUIC 上の HTTP/3(RFC 9114)

ファミリー

HTTP/3

言語

Delphi, C++ Builder, .NET

HTTP/3 での GET リクエスト

ホストとポートに接続し、リクエストを発行します。デフォルトポートは 443 です。ヘッダーは QPACK で圧縮され、OnAltSvc は HTTP/3 がアドバタイズされたタイミングを知らせます。

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

主なプロパティ & メソッド

最もよく使うメンバー。

リクエスト

GetHeadPostPutDelete、その他のメソッド(IETF の QUERY メソッドを含む)はブロッキング呼び出しとして実行でき、多くには非同期版もあります。

コネクション

Connect(aHost, aPort)Disconnect が QUIC コネクションを開閉します。HostPort は現在の接続先を返します。

Alt-Svc & プッシュ

OnAltSvc は HTTP/3 の可用性を知らせます。SetMaxPushIdOnPushPromiseOnPush がサーバープッシュを制御します。

トンネル & WebTransport

ExtendedConnectTunnelSendOnTunnelData が RFC 9220 トンネルを扱います。WebTransportConnect は WebTransport セッションを開きます。

チューニング

UserAgentConnectTimeoutReadTimeoutMaxResponseSize でクライアントを調整します。

イベント

OnResponseOnErrorOnConnectOnDisconnectOnGoAway が、レスポンスとコネクションのライフサイクルを報告します。

さらに詳しく

オンラインヘルプsgcQUIC の完全な API リファレンスと使用ガイドです。
すべての sgcQUIC コンポーネント4 つのコンポーネントすべての完全な機能マトリックスを見る。
無料体験版をダウンロードHTTP/3 に対応した任意のオリジンに対して HTTP/3 クライアントを実行できます。
価格完全なソースコード付きの Single、Team、Site ライセンス。
最もお得な選択: All-AccesseSeGeCe の全製品にプレミアムサポートが付いて、年間 €1,059 からご利用いただけます。
All-Access の価格を見る

始める準備はできましたか?

無料体験版をダウンロードして、Delphi、C++ Builder、.NET から最初の HTTP/3 リクエストを送信しましょう。