TsgcWebSocketLoadBalancerServerMethoden › PushPromiseAddPreLoadLinks

PushPromiseAddPreLoadLinks Methode

Registriert eine HTTP/2-Server-Push-Regel, die eine Reihe verwandter Ressourcen vorlädt, wann immer ein passender Anfragepfad vom Load Balancer 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 Load Balancer auch die für sie 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, die der Load Balancer mit seinen Backup-HTTP-Servern teilt. Wann immer ein HTTP/2-Client den durch aPathMatch angegebenen Pfad anfordert, gibt der Knoten, der die Anfrage bedient, 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 := TsgcWebSocketLoadBalancerServer.Create(nil);
oLinks := TStringList.Create;
try
  oLinks.Add('/styles.css');
  oServer.PushPromiseAddPreLoadLinks('/index.html', oLinks);
finally
  oLinks.Free;
end;

Zurück zu Methoden