HTTP.SYS WebBroker ブリッジ

DataSnap / WebBroker / RAD Server モジュールを Windows HTTP.SYS カーネルドライバー上にマウントします。1 つのポートでカーネルモード TLS・HTTP/2・WebSocket を提供します。

TsgcWSServer_HTTPAPI_WebBrokerBridge

既存の TWebModule / DataSnap スタックを Microsoft の HTTP.SYS サーバー API に接続します。カーネルモード HTTP/2・カーネルモード TLS・既存の TsgcWebSocket 接続パスがそのまま使えます。

コンポーネントクラス

TsgcWSServer_HTTPAPI_WebBrokerBridge

プロトコル

Windows HTTP Server API

プラットフォーム

Windows(HTTP.SYS)

エディション

Enterprise

WebBroker モジュールをマウントしてリッスンする

RegisterURL に netsh で予約した URL プレフィックスを設定し、WebBroker の WebModuleClass を紐付けて Active := True にするだけで、HTTP.SYS がリクエストをモジュールにルーティングします。

uses
  sgcWebSocket, sgcWebSocketServer_HTTPAPI_WebBrokerBridge,
  WebReq, IdHTTPWebBrokerBridge, WebModuleUnit1;

var
  Server: TsgcWSServer_HTTPAPI_WebBrokerBridge;
begin
  if WebRequestHandler <> nil then
    WebRequestHandler.WebModuleClass := WebModuleClass;

  Server := TsgcWSServer_HTTPAPI_WebBrokerBridge.Create(nil);
  Server.RegisterURL := 'http://+:8080/';
  Server.Active := True;
end;

機能の詳細

カーネルモード HTTP サーバーと eSeGeCe WebSocket / HTTP/2 ディスパッチを組み合わせ、Windows 上の本番 WebBroker / DataSnap 展開に最適です。

カーネルモード TLS

HTTP.SYS はカーネル内で TLS を終端します。証明書は LocalMachine ストアに保存され、ユーザーモードのサービスは秘密鍵を直接扱いません。

HTTP/2 + WebSocket

HTTP.SYS は Windows 10 / Server 2016 以降で HTTP/2 を、Windows 8 以降で WebSocket をサポートしています。両プロトコルは同一の登録 URL プレフィックスを共有します。

WebBroker ブリッジ

Embarcadero 標準の IdHTTPWebBrokerBridge 契約をラップするため、既存の TWebModule ハンドラー(DataSnap REST・RAD Server エンドポイント・カスタムルート)がそのまま動作します。

URL ACL

netsh http add urlacl で URL プレフィックスを予約します。RegisterURL は予約済みの名前空間を使用するため、サービスを非特権ユーザーとして実行できます。

パフォーマンス

受信 HTTP/2 フレームは HTTP.SYS 内部でデコードされるため、ユーザーモードのサーバーは解析済みリクエストのみを受け取り、完全なユーザーモードリスナーと比較して CPU を節約できます。

WebSocket アップグレード

WebSocket アップグレードは DataSnap / WebBroker REST と共存します。同一ポート・同一 URL プレフィックスで、リクエストごとにディスパッチが決定されます。

仕様と参照

このコンポーネントが対象とするプラットフォームの公式ソース。

ドキュメントとデモ

コンポーネントリファレンスへのリンク・すぐに実行できるデモプロジェクト・トライアルのダウンロード。

オンラインヘルプ — TsgcWSServer_HTTPAPI_WebBrokerBridge このコンポーネントのプロパティ・メソッド・イベントの完全なリファレンス。
デモプロジェクト — Demos\40.DataSnap\Server_HTTPAPI すぐに実行できるサンプルプロジェクト。sgcWebSockets パッケージに同梱されています。以下のトライアルをダウンロードしてください。
技術ドキュメント(PDF) 機能・クイックスタート・Delphi と C++ Builder のコードサンプル・一次情報源の参照(このコンポーネント専用)。
ユーザーマニュアル(PDF) ライブラリ内のすべてのコンポーネントを網羅した包括的なマニュアル。

DataSnap を HTTP.SYS で動かす準備はできましたか?

無料トライアルをダウンロードして DataSnap サーバーを Windows カーネル HTTP ドライバー上でホストしましょう。