TsgcWebSocketLoadBalancerServerMetodi › PushPromiseAddPreLoadLinks

PushPromiseAddPreLoadLinks Metodo

Registra una regola di Server Push HTTP/2 che precarica un insieme di risorse correlate ogni volta che un percorso di richiesta corrispondente viene servito dal load balancer.

Sintassi

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

Parametri

NomeTipoDescrizione
aPathMatchconst StringPercorso della richiesta che attiva il push, ad esempio /index.html. Quando un client richiede questa risorsa tramite HTTP/2, il load balancer invia in push anche i link registrati per essa.
aLinksconst TStringsElenco di percorsi di risorse (uno per riga) che verranno inviati insieme alla richiesta corrispondente, come fogli di stile, script o immagini referenziati dal documento principale.

Note

PushPromiseAddPreLoadLinks aggiunge una nuova voce alla tabella interna di push-promise HTTP/2 condivisa dal load balancer con i suoi server HTTP di backup. Ogni volta che un client HTTP/2 richiede il percorso indicato da aPathMatch, il nodo che serve la richiesta emette un frame PUSH_PROMISE per ogni link in aLinks prima della risposta principale, in modo che il client possa popolare la propria cache senza effettuare round-trip aggiuntivi; veda HTTP/2 Server Push per il flusso di lavoro completo. L'elenco dei link viene copiato, quindi il chiamante è libero di liberare il TStrings fornito dopo la chiamata. Il push promise viene onorato solo sulle connessioni HTTP/2 negoziate tramite ALPN; i client HTTP/1.1 ricevono la risposta principale senza le risorse promesse. Chiami PushPromiseRemovePreLoadLinks per eliminare la regola.

Esempio


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

Torna ai Metodi