TsgcWebSocketLoadBalancerServer › Metodi › PushPromiseAddPreLoadLinks
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.
procedure PushPromiseAddPreLoadLinks(const aPathMatch: String; const aLinks: TStrings);
| Nome | Tipo | Descrizione |
|---|---|---|
aPathMatch | const String | Percorso 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. |
aLinks | const TStrings | Elenco 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. |
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.
oServer := TsgcWebSocketLoadBalancerServer.Create(nil);
oLinks := TStringList.Create;
try
oLinks.Add('/styles.css');
oServer.PushPromiseAddPreLoadLinks('/index.html', oLinks);
finally
oLinks.Free;
end;