TsgcWebSocketLoadBalancerServerMetody › PushPromiseAddPreLoadLinks

PushPromiseAddPreLoadLinks Metoda

Rejestruje regułę Server Push HTTP/2, która wstępnie ładuje zestaw powiązanych zasobów za każdym razem, gdy pasująca ścieżka żądania jest obsługiwana przez load balancer.

Składnia

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

Parametry

NazwaTypOpis
aPathMatchconst StringŚcieżka żądania wyzwalająca push, na przykład /index.html. Gdy klient żąda tego zasobu przez HTTP/2, load balancer wypycha również zarejestrowane dla niego łącza.
aLinksconst TStringsLista ścieżek zasobów (po jednej w wierszu), które będą wypychane razem z dopasowanym żądaniem, takich jak arkusze stylów, skrypty lub obrazy odwoływane przez dokument główny.

Uwagi

Metoda PushPromiseAddPreLoadLinks dodaje nowy wpis do wewnętrznej tabeli push-promise HTTP/2 współdzielonej przez moduł równoważenia obciążenia z serwerami zapasowymi HTTP. Gdy klient HTTP/2 żąda ścieżki określonej przez aPathMatch, węzeł obsługujący żądanie emituje ramkę PUSH_PROMISE dla każdego łącza w aLinks przed główną odpowiedzią, dzięki czemu klient może wypełnić swoją pamięć podręczną bez dodatkowych operacji wymiany danych; patrz Server Push HTTP/2, aby zapoznać się z pełnym przepływem pracy. Lista łączy jest kopiowana, więc wywołujący może zwolnić dostarczone TStrings po wywołaniu. Obietnica push jest honorowana wyłącznie dla połączeń HTTP/2 negocjowanych przez ALPN; klienci HTTP/1.1 otrzymują główną odpowiedź bez obiecanych zasobów. Należy wywołać PushPromiseRemovePreLoadLinks, aby usunąć regułę.

Przykład


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

Powrót do metod