TsgcWebSocketHTTPServer › Metodi › PushPromiseAddPreLoadLinks
Registra una regola di Server Push HTTP/2 che precarica un insieme di risorse correlate ogni volta che viene servito un percorso di richiesta corrispondente.
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 server invia 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. Ogni volta che un client HTTP/2 richiede il percorso indicato da aPathMatch, il server emette un frame PUSH_PROMISE per ogni link in aLinks prima della risposta principale, così il client può 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 è rispettato solo su 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 := TsgcWebSocketHTTPServer.Create(nil);
oLinks := TStringList.Create;
try
oLinks.Add('/styles.css');
oServer.PushPromiseAddPreLoadLinks('/index.html', oLinks);
finally
oLinks.Free;
end;