HTTP.SYS WebBroker ブリッジ
DataSnap / WebBroker / RAD Server モジュールを Windows HTTP.SYS カーネルドライバー上にマウントします。1 つのポートでカーネルモード TLS・HTTP/2・WebSocket を提供します。
DataSnap / WebBroker / RAD Server モジュールを Windows HTTP.SYS カーネルドライバー上にマウントします。1 つのポートでカーネルモード TLS・HTTP/2・WebSocket を提供します。
既存の TWebModule / DataSnap スタックを Microsoft の HTTP.SYS サーバー API に接続します。カーネルモード HTTP/2・カーネルモード TLS・既存の TsgcWebSocket 接続パスがそのまま使えます。
TsgcWSServer_HTTPAPI_WebBrokerBridge
Windows(HTTP.SYS)
Enterprise
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 展開に最適です。
HTTP.SYS はカーネル内で TLS を終端します。証明書は LocalMachine ストアに保存され、ユーザーモードのサービスは秘密鍵を直接扱いません。
HTTP.SYS は Windows 10 / Server 2016 以降で HTTP/2 を、Windows 8 以降で WebSocket をサポートしています。両プロトコルは同一の登録 URL プレフィックスを共有します。
Embarcadero 標準の IdHTTPWebBrokerBridge 契約をラップするため、既存の TWebModule ハンドラー(DataSnap REST・RAD Server エンドポイント・カスタムルート)がそのまま動作します。
netsh http add urlacl で URL プレフィックスを予約します。RegisterURL は予約済みの名前空間を使用するため、サービスを非特権ユーザーとして実行できます。
受信 HTTP/2 フレームは HTTP.SYS 内部でデコードされるため、ユーザーモードのサーバーは解析済みリクエストのみを受け取り、完全なユーザーモードリスナーと比較して CPU を節約できます。
WebSocket アップグレードは DataSnap / WebBroker REST と共存します。同一ポート・同一 URL プレフィックスで、リクエストごとにディスパッチが決定されます。
このコンポーネントが対象とするプラットフォームの公式ソース。
コンポーネントリファレンスへのリンク・すぐに実行できるデモプロジェクト・トライアルのダウンロード。
| オンラインヘルプ — TsgcWSServer_HTTPAPI_WebBrokerBridge このコンポーネントのプロパティ・メソッド・イベントの完全なリファレンス。 | 開く | |
| デモプロジェクト — Demos\40.DataSnap\Server_HTTPAPI すぐに実行できるサンプルプロジェクト。sgcWebSockets パッケージに同梱されています。以下のトライアルをダウンロードしてください。 | 開く | |
| 技術ドキュメント(PDF) 機能・クイックスタート・Delphi と C++ Builder のコードサンプル・一次情報源の参照(このコンポーネント専用)。 | 開く | |
| ユーザーマニュアル(PDF) ライブラリ内のすべてのコンポーネントを網羅した包括的なマニュアル。 | 開く |