TsgcWebSocketHTTPServer › Methoden › PushPromiseAddPreLoadLinks
Registreert een HTTP/2 Server Push-regel die een set gerelateerde resources voorlaadt wanneer een overeenkomend verzoekpad wordt bediend.
procedure PushPromiseAddPreLoadLinks(const aPathMatch: String; const aLinks: TStrings);
| Naam | Type | Beschrijving |
|---|---|---|
aPathMatch | const String | Verzoekpad dat de push activeert, bijvoorbeeld /index.html. Wanneer een client deze resource via HTTP/2 opvraagt, pusht de server ook de gekoppelde links. |
aLinks | const TStrings | Lijst van resourcepaden (één per regel) die naast het overeenkomende verzoek worden gepusht, zoals stylesheets, scripts of afbeeldingen waarnaar het primaire document verwijst. |
PushPromiseAddPreLoadLinks voegt een nieuwe vermelding toe aan de interne HTTP/2 push-promise-tabel. Wanneer een HTTP/2-client het pad opvraagt dat wordt opgegeven door aPathMatch, verstuurt de server een PUSH_PROMISE-frame voor elke link in aLinks vóór het hoofdantwoord, zodat de client zijn cache kan vullen zonder extra round-trips; zie HTTP/2 Server Push voor de volledige workflow. De linklijst wordt gekopieerd, zodat de aanroeper de opgegeven TStrings na de aanroep vrij kan geven. Push promise wordt alleen gehonoreerd op HTTP/2-verbindingen onderhandeld via ALPN; HTTP/1.1-clients ontvangen het hoofdantwoord zonder de beloofde resources. Roep PushPromiseRemovePreLoadLinks aan om de regel te verwijderen.
oServer := TsgcWebSocketHTTPServer.Create(nil);
oLinks := TStringList.Create;
try
oLinks.Add('/styles.css');
oServer.PushPromiseAddPreLoadLinks('/index.html', oLinks);
finally
oLinks.Free;
end;