TsgcWebSocketHTTPServer › Métodos › PushPromiseAddPreLoadLinks
Registra una regla de Server Push HTTP/2 que precarga un conjunto de recursos relacionados siempre que se sirva una ruta de solicitud coincidente.
procedure PushPromiseAddPreLoadLinks(const aPathMatch: String; const aLinks: TStrings);
| Nombre | Tipo | Descripción |
|---|---|---|
aPathMatch | const String | Ruta de solicitud que desencadena el envío push, por ejemplo /index.html. Cuando un cliente solicita este recurso a través de HTTP/2, el servidor también envía por push los enlaces registrados para él. |
aLinks | const TStrings | Lista de rutas de recursos (una por línea) que se enviarán junto con la solicitud coincidente, como hojas de estilo, scripts o imágenes referenciadas por el documento principal. |
PushPromiseAddPreLoadLinks añade una nueva entrada a la tabla interna de push-promise de HTTP/2. Cuando un cliente HTTP/2 solicita la ruta indicada por aPathMatch, el servidor emite una trama PUSH_PROMISE para cada enlace en aLinks antes de la respuesta principal, para que el cliente pueda llenar su caché sin emitir viajes de ida y vuelta adicionales; consulte HTTP/2 Server Push para el flujo de trabajo completo. La lista de enlaces se copia, por lo que el llamador puede liberar el TStrings suministrado tras la llamada. La promesa de push solo se respeta en conexiones HTTP/2 negociadas mediante ALPN; los clientes HTTP/1.1 reciben la respuesta principal sin los recursos prometidos. Llame a PushPromiseRemovePreLoadLinks para eliminar la regla.
oServer := TsgcWebSocketHTTPServer.Create(nil);
oLinks := TStringList.Create;
try
oLinks.Add('/styles.css');
oServer.PushPromiseAddPreLoadLinks('/index.html', oLinks);
finally
oLinks.Free;
end;