TsgcWebSocketHTTPServer › Methoden › PushPromiseAddPreLoadLinks
Registreert een HTTP/2 Server Push-regel die een set gerelateerde resources voorlaadt wanneer een overeenkomend verzoekpad wordt bediend.
void __fastcall PushPromiseAddPreLoadLinks(const UnicodeString aPathMatch, const TStrings * aLinks);
| 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.
TsgcWebSocketHTTPServer *oServer = new TsgcWebSocketHTTPServer(this);
TStringList *oLinks = new TStringList();
try
{
oLinks->Add("/styles.css");
oServer->PushPromiseAddPreLoadLinks("/index.html", oLinks);
}
__finally
{
oLinks->Free();
}