TsgcWebSocketLoadBalancerServerMétodos › PushPromiseAddPreLoadLinks

PushPromiseAddPreLoadLinks Method

Registra uma regra de HTTP/2 Server Push que pré-carrega um conjunto de recursos relacionados sempre que um caminho de requisição correspondente é servido pelo balanceador de carga.

Sintaxe

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

Parâmetros

NameTypeDescrição
aPathMatchconst StringCaminho da requisição que dispara o push, por exemplo /index.html. Quando um cliente solicita este recurso sobre HTTP/2, o balanceador de carga também envia os links registrados para ele.
aLinksconst TStringsLista de caminhos de recurso (um por linha) que serão enviados junto com a requisição correspondente, como folhas de estilo, scripts ou imagens referenciados pelo documento primário.

Observações

PushPromiseAddPreLoadLinks anexa uma nova entrada à tabela interna de push-promise HTTP/2 compartilhada pelo balanceador de carga com seus servidores HTTP de backup. Sempre que um cliente HTTP/2 requisitar o caminho fornecido por aPathMatch, o nó que atende à requisição emite um frame PUSH_PROMISE para cada link em aLinks antes da resposta principal, para que o cliente possa popular seu cache sem fazer round-trips extras; veja HTTP/2 Server Push para o fluxo completo. A lista de links é copiada, então o chamador é livre para liberar o TStrings fornecido após a chamada. O push promise só é honrado em conexões HTTP/2 negociadas via ALPN; os clientes HTTP/1.1 recebem a resposta principal sem os recursos prometidos. Chame PushPromiseRemovePreLoadLinks para remover a regra.

Exemplo


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

Voltar para Métodos