TsgcHTTP3Client › イベント › OnAltSvc

OnAltSvc イベント

サーバーが代替サービスを通知する Alt-Svc ヘッダーを返したときに発生します。

構文

property OnAltSvc: TsgcAltSvcEvent;
// TsgcAltSvcEvent = procedure(Sender: TObject; const aEntries: TsgcAltSvcList) of object

パラメータ

名前タイプ説明
SenderTObjectAlt-Svc ヘッダーを受信したクライアント。
aEntriesTsgcAltSvcList通知された代替サービスの解析済みリスト。各エントリは Protocol、Host、Port、MaxAge および Persist を公開します。

デフォルト値

—

解説

OnAltSvc は、レスポンスが alt-svc ヘッダー(RFC 7838)を持つときに発生します。このヘッダーを通じて、サーバーは同じオリジンが別のプロトコル、ホスト、またはポート経由でもアクセス可能であることを通知します(たとえば HTTP/2 接続中に検出された HTTP/3 エンドポイントなど)。ヘッダーは TsgcAltSvcList に解析され、各 TsgcAltSvcEntry は 1 つの代替サービスを記述します。ALPN の Protocol(h3 など)、Host と Port、秒単位の MaxAge 有効期限、および Persist フラグです。このイベントを使用して通知されたエンドポイントをキャッシュし、後続のリクエストをそこにルーティングしてください。clear(alt-svc: clear)ディレクティブはイベントを発生させません。

使用例


procedure OnAltSvcEvent(Sender: TObject; const aEntries: TsgcAltSvcList);
var
  i: Integer;
begin
  for i := 0 to High(aEntries) do
    Log(aEntries[i].Protocol + ' @ ' + aEntries[i].Host + ':' + IntToStr(aEntries[i].Port));
end;

イベントに戻る