TsgcWebSocketHTTPServer › Méthodes › PushPromiseAddPreLoadLinks
Enregistre une règle de Server Push HTTP/2 qui précharge un ensemble de ressources liées chaque fois qu'un chemin de requête correspondant est servi.
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 serveur pousse également les liens qui y sont enregistrés. |
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 de push-promise HTTP/2 interne. Chaque fois qu'un client HTTP/2 demande le chemin indiqué par aPathMatch, le serveur é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 allers-retours supplémentaires ; voir HTTP/2 Server Push pour le flux de travail complet. La liste de liens est copiée, donc l'appelant est libre de libérer le TStrings fourni après l'appel. Le push promise n'est honoré 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 := TsgcWebSocketHTTPServer.Create(nil);
oLinks := TStringList.Create;
try
oLinks.Add('/styles.css');
oServer.PushPromiseAddPreLoadLinks('/index.html', oLinks);
finally
oLinks.Free;
end;