TsgcHTTP3Client › 事件 › OnAltSvc

OnAltSvc 事件

当服务器返回通告备用服务的 Alt-Svc 标头时触发。

语法

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

参数

名称类型描述
SenderTObject接收到 Alt-Svc 标头的客户端。
aEntriesTsgcAltSvcList已解析的通告备用服务列表。每个条目公开 Protocol、Host、Port、MaxAge 和 Persist。

默认值

—

备注

OnAltSvc 在响应携带 alt-svc 标头(RFC 7838)时触发,该标头用于服务器通告同一源地址也可通过另一协议、主机或端口访问,例如通过 HTTP/2 连接时发现的 HTTP/3 端点。标头被解析为 TsgcAltSvcList,每个 TsgcAltSvcEntry 描述一项备用服务:ALPN Protocol(如 h3)、Host 和 Port、以秒为单位的 MaxAge 新鲜度有效期以及 Persist 标志。使用此事件缓存通告的端点并将后续请求路由至该端点。清除指令(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;

返回事件