TsgcWebSocketLoadBalancerServer › Méthodes › PushPromiseAddPreLoadLinks
Enregistre une règle de Server Push HTTP/2 qui précharge un ensemble de ressources associées à chaque fois qu'un chemin de requête correspondant est servi par l'équilibreur de charge.
procedure PushPromiseAddPreLoadLinks(const aPathMatch: String; const aLinks: TStrings);
| Nom | Type | Description |
|---|---|---|
aPathMatch
| const String
| Chemin de requête qui déclenche le push, par exemple /index.html. Lorsqu'un client demande cette ressource via HTTP/2, le répartiteur de charge pousse également les liens enregistrés pour celle-ci.
|
aLinks | const TStrings | Liste des chemins de ressources (un par ligne) qui seront transmis en même temps que la requête correspondante, tels que les feuilles de style, les scripts ou les images référencés par le document principal. |
PushPromiseAddPreLoadLinks ajoute une nouvelle entrée à la table interne des push-promises HTTP/2 partagée par l'équilibreur de charge avec ses serveurs HTTP de secours. Chaque fois qu'un client HTTP/2 demande le chemin indiqué par aPathMatch, le nœud qui traite la requête émet une trame PUSH_PROMISE pour chaque lien dans aLinks avant la réponse principale, afin que le client puisse remplir son cache sans émettre de requêtes supplémentaires ; consultez HTTP/2 Server Push pour le flux de travail complet. La liste de liens est copiée, de sorte que l'appelant peut libérer le TStrings fourni après l'appel. Les push-promises ne sont honorées que sur les connexions HTTP/2 négociées via ALPN ; les clients HTTP/1.1 reçoivent la réponse principale sans les ressources promises. Appelez PushPromiseRemovePreLoadLinks pour supprimer la règle.
oServer := TsgcWebSocketLoadBalancerServer.Create(nil);
oLinks := TStringList.Create;
try
oLinks.Add('/styles.css');
oServer.PushPromiseAddPreLoadLinks('/index.html', oLinks);
finally
oLinks.Free;
end;