TsgcWebSocketHTTPServerMé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.

Sintaxe

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

Parâmetros

NameTypeDescrição
aPathMatchconst StringCaminho da requisição que aciona o push, por exemplo /index.html. Quando um cliente solicita este recurso sobre HTTP/2, o servidor também envia (push) 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 do HTTP/2. Sempre que um cliente HTTP/2 solicita o caminho dado por aPathMatch, o servidor emite um frame PUSH_PROMISE para cada link em aLinks antes da resposta principal, de modo que o cliente possa popular seu cache sem emitir idas e voltas extras; veja HTTP/2 Server Push para o fluxo de trabalho completo. A lista de links é copiada, portanto 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; clientes HTTP/1.1 recebem a resposta principal sem os recursos prometidos. Chame PushPromiseRemovePreLoadLinks para descartar a regra.

Exemplo


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

Voltar para Métodos