TsgcWebSocketLoadBalancerServerMétodos › PushPromiseAddPreLoadLinks

PushPromiseAddPreLoadLinks Método

Registra una regla de Server Push HTTP/2 que precarga un conjunto de recursos relacionados cada vez que el balanceador de carga sirve una ruta de solicitud coincidente.

Sintaxis

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

Parámetros

NombreTipoDescripción
aPathMatchconst StringRuta de solicitud que activa el push, por ejemplo /index.html. Cuando un cliente solicita este recurso a través de HTTP/2, el balanceador de carga también envía los enlaces registrados para él.
aLinksconst TStringsLista 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.

Observaciones

PushPromiseAddPreLoadLinks agrega una nueva entrada a la tabla interna de push-promise de HTTP/2 compartida por el equilibrador de carga con sus servidores HTTP de respaldo. Siempre que un cliente HTTP/2 solicite la ruta especificada por aPathMatch, el nodo que atiende la solicitud emite un frame PUSH_PROMISE para cada enlace en aLinks antes de la respuesta principal, de modo que el cliente pueda poblar su caché sin emitir viajes de ida y vuelta adicionales; consulte HTTP/2 Server Push para el flujo completo. La lista de enlaces se copia, por lo que el llamador puede liberar el TStrings suministrado después de la llamada. El push promise 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.

Ejemplo


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

Volver a Métodos