TsgcHTTPServer

プレーンな HTTP サーバーコンポーネント。TsgcWebSocketHTTPServer と同じエンジンを使用しますが WebSocket をサポートせず、MCP サーバーのような HTTP 専用サービスを公開するためのものです。

はじめに

TsgcHTTPServer はプレーンな HTTP サーバーコンポーネントです。TsgcWebSocketHTTPServer と同じ基盤エンジン(ドキュメントルート、セッション、キープアライブ、HTTP 圧縮、HTTP/2、HTTP/3、TLS、認証、スレッドプール、IOCP/EPOLL エンジン、ファイルアップロード、ファイアウォール、レートリミッターなど)を共有しますが、接続を WebSocket プロトコルにアップグレードすることは一切ありません。ハンドシェイクもフレームもなく、WebSocket 専用のメンバー(Extensions、Specifications、HeartBeat、QueueOptions、OnMessage/OnBinary/OnFragmented/OnHandshake、LoadBalancer/OnLoadBalancer*、Groups)はいずれも公開されていません。

アプリケーションが HTTP エンドポイントの公開のみを必要とし、WebSocket 関連のコードを一切リンクしたくない場合、たとえば MCP(Model Context Protocol)サーバー、REST/JSON API、または単純なファイル/ドキュメントサーバーをホストする場合に TsgcHTTPServer を使用してください。同じポートで WebSocket サポートも必要な場合は、代わりに TsgcWebSocketHTTPServer を使用してください。

このコンポーネントの設定手順に従います:

1. フォームに TsgcHTTPServer コンポーネントをドロップします。

2. ポートを設定します(デフォルトは 80)。ファイアウォールの内側にある場合は設定が必要になる可能性があります。

3. OnCommandGet / OnCommandOther を処理してリクエストに応答するか、DocumentRoot を設定して静的ファイルを自動的に提供します。

AResponseInfo.ContentText := '<HTML><HEADER>TEST</HEAD><BODY>Hello!</BODY></HTML>';

OnHTTPUploadBeforeCreatePostStream: このイベントはヘッダーが読み取られた後、POST ストリームが作成される前に呼び出されます。

* 場合によっては、不審な接続によって CPU の使用率が高くなることがあります。この場合、エラー 500 を返すか、OnUnknownProtocol から接続を閉じてください。

4. プロシージャを作成し、プロパティ Active = true を設定します。

リファレンス

ガイド