TsgcWebSocketLoadBalancerServer方法 › PushPromiseAddPreLoadLinks

PushPromiseAddPreLoadLinks 方法

注册一条 HTTP/2 服务器推送规则,每当负载均衡器提供匹配请求路径时,预加载一组相关资源。

语法

procedure PushPromiseAddPreLoadLinks(const aPathMatch: String; const aLinks: TStrings);

参数

名称类型描述
aPathMatchconst String触发推送的请求路径,例如 /index.html。当客户端通过 HTTP/2 请求此资源时,负载均衡器还会推送为其注册的链接。
aLinksconst TStrings资源路径列表(每行一个),将与匹配请求一起推送,例如主文档引用的样式表、脚本或图像。

备注

PushPromiseAddPreLoadLinks 向负载均衡器与其备份 HTTP 服务器共享的内部 HTTP/2 推送承诺表追加一条新条目。每当 HTTP/2 客户端请求 aPathMatch 指定的路径时,服务该请求的节点将在主响应之前为 aLinks 中的每个链接发出 PUSH_PROMISE 帧,从而使客户端无需额外的往返请求即可填充缓存;完整工作流请参阅 HTTP/2 服务器推送。链接列表会被复制,因此调用者可在调用后自由释放提供的 TStrings。推送承诺仅在通过 ALPN 协商的 HTTP/2 连接上生效;HTTP/1.1 客户端仅接收主响应,不包含承诺的资源。调用 PushPromiseRemovePreLoadLinks 可删除该规则。

示例


oServer := TsgcWebSocketLoadBalancerServer.Create(nil);
oLinks := TStringList.Create;
try
  oLinks.Add('/styles.css');
  oServer.PushPromiseAddPreLoadLinks('/index.html', oLinks);
finally
  oLinks.Free;
end;

返回方法