TsgcWebSocketHTTPServerMetody › PushPromiseAddPreLoadLinks

PushPromiseAddPreLoadLinks Metoda

Rejestruje regułę Server Push HTTP/2, która wstępnie ładuje zestaw powiązanych zasobów przy każdym obsłużeniu pasującej ścieżki żądania.

Składnia

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

Parametry

NazwaTypOpis
aPathMatchconst StringŚcieżka żądania wyzwalająca wypychanie, na przykład /index.html. Gdy klient zażąda tego zasobu przez HTTP/2, serwer 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

PushPromiseAddPreLoadLinks dodaje nowy wpis do wewnętrznej tabeli push-promise HTTP/2. Za każdym razem, gdy klient HTTP/2 żąda ścieżki określonej przez aPathMatch, serwer emituje ramkę PUSH_PROMISE dla każdego łącza w aLinks przed główną odpowiedzią, dzięki czemu klient może zapełnić pamięć podręczną bez dodatkowych roundtripów; patrz HTTP/2 Server Push, aby zapoznać się z pełnym procesem. Lista łączy jest kopiowana, więc wywołujący może zwolnić przekazany obiekt TStrings po wywołaniu. Push promise jest honorowany wyłącznie na połączeniach HTTP/2 wynegocjowanych przez ALPN; klienci HTTP/1.1 otrzymują główną odpowiedź bez obiecanych zasobów. Wywołaj PushPromiseRemovePreLoadLinks, aby usunąć regułę.

Przykład


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

Powrót do metod