TsgcWebSocketHTTPServerYöntemler › PushPromiseAddPreLoadLinks

PushPromiseAddPreLoadLinks Yöntem

Eşleşen bir istek yolu sunulduğunda ilgili bir kaynak setini önceden yükleyen bir HTTP/2 Server Push kuralı kaydeder.

Sözdizimi

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

Parametreler

NameTypeAçıklama
aPathMatchconst StringPush'u tetikleyen istek yolu, örneğin /index.html. Bir istemci bu kaynağı HTTP/2 üzerinden istediğinde, sunucu ayrıca bunun için kayıtlı bağlantıları da push eder.
aLinksconst TStringsEşleşen istekle birlikte gönderilecek kaynak yollarının listesi (satır başına bir tane); örneğin birincil belge tarafından başvurulan stil sayfaları, betikler veya görüntüler.

Remarks

PushPromiseAddPreLoadLinks, dahili HTTP/2 push-promise tablosuna yeni bir giriş ekler. Bir HTTP/2 istemcisi aPathMatch ile verilen yolu istediğinde, sunucu ana yanıttan önce aLinks içindeki her bağlantı için bir PUSH_PROMISE çerçevesi yayar, böylece istemci ek gidiş dönüşler yapmadan önbelleğini doldurabilir; tam iş akışı için HTTP/2 Server Push bölümüne bakın. Bağlantı listesi kopyalanır, bu nedenle çağıran, çağrıdan sonra verilen TStrings nesnesini serbest bırakmakta serbesttir. Push promise yalnızca ALPN aracılığıyla görüşülen HTTP/2 bağlantılarında onurlandırılır; HTTP/1.1 istemcileri vaat edilen kaynaklar olmadan ana yanıtı alır. Kuralı kaldırmak için PushPromiseRemovePreLoadLinks çağırın.

Örnek


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

Yöntemlere Dön