TsgcWebSocketHTTPServer › Yöntemler › PushPromiseAddPreLoadLinks
Eşleşen bir istek yolu sunulduğunda ilgili bir kaynak setini önceden yükleyen bir HTTP/2 Server Push kuralı kaydeder.
procedure PushPromiseAddPreLoadLinks(const aPathMatch: String; const aLinks: TStrings);
| Name | Type | Açıklama |
|---|---|---|
aPathMatch | const String | Push'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. |
aLinks | const TStrings | Eş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. |
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.
oServer := TsgcWebSocketHTTPServer.Create(nil);
oLinks := TStringList.Create;
try
oLinks.Add('/styles.css');
oServer.PushPromiseAddPreLoadLinks('/index.html', oLinks);
finally
oLinks.Free;
end;