TsgcWebSocketHTTPServerMethods › PushPromiseAddPreLoadLinks

PushPromiseAddPreLoadLinks Methode

Registriert eine HTTP/2-Server-Push-Regel, die eine Reihe verwandter Ressourcen vorlädt, sobald ein passender Anfragepfad bedient wird.

Syntax

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

Parameter

NameTypBeschreibung
aPathMatchconst StringAnfragepfad, der den Push auslöst, zum Beispiel /index.html. Wenn ein Client diese Ressource über HTTP/2 anfordert, pusht der Server auch die dafür registrierten Links.
aLinksconst TStringsListe von Ressourcenpfaden (einer pro Zeile), die zusammen mit der übereinstimmenden Anforderung gepusht werden, wie etwa Stylesheets, Skripte oder Bilder, auf die das primäre Dokument verweist.

Hinweise

PushPromiseAddPreLoadLinks hängt einen neuen Eintrag an die interne HTTP/2-Push-Promise-Tabelle an. Wann immer ein HTTP/2-Client den durch aPathMatch angegebenen Pfad anfordert, gibt der Server für jeden Link in aLinks einen PUSH_PROMISE-Frame vor der Hauptantwort aus, sodass der Client seinen Cache befüllen kann, ohne zusätzliche Round-Trips auszugeben; siehe HTTP/2 Server Push für den vollständigen Workflow. Die Link-Liste wird kopiert, sodass es dem Aufrufer freisteht, die bereitgestellten TStrings nach dem Aufruf freizugeben. Push Promise wird nur auf HTTP/2-Verbindungen berücksichtigt, die über ALPN ausgehandelt wurden; HTTP/1.1-Clients erhalten die Hauptantwort ohne die zugesagten Ressourcen. Rufen Sie PushPromiseRemovePreLoadLinks auf, um die Regel zu verwerfen.

Beispiel


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

Zurück zu Methoden