Server Push, sunucunun tek bir istemci isteği için birden fazla yanıt gönderme yeteneğidir. Yani, orijinal isteğe verilen yanıta ek olarak, sunucu, istemcinin her birini açıkça istemesine gerek kalmadan istemciye ek kaynaklar gönderebilir.

Sunucu istemciye her PushPromise mesajı gönderdiğinde, OnHTTP2PushPromise olayı çağrılır. İstemci bir PushPromise aldığında, bu, sunucunun bu kaynağı sonraki paketlerde göndereceği anlamına gelir, böylece istemci bunu kabul edebilir veya reddedebilir.
oClient := TsgcHTTP2Client.Create(nil);
oClient.OnHTTP2PushPromise := OnHTTP2PushPromiseEvent;
oClient.Get('https://http2.golang.org/serverpush');
...
procedure OnHTTP2PushPromiseEvent(Sender: TObject; const Connection: TsgcHTTP2ConnectionClient;
const PushPromise: TsgcHTTP2_Frame_PushPromise; var Cancel: Boolean);
begin
if PushPromise.URL = '/serverpush/static/godocs.js' then
Cancel := True
else
Cancel := False;
end;