Verzoeken | HTTP/2 Server Push

Server Push is het vermogen van de server om meerdere responses te verzenden voor één enkel clientverzoek. Dat wil zeggen, naast de response op het oorspronkelijke verzoek kan de server aanvullende resources naar de client pushen, zonder dat de client elke resource expliciet hoeft op te vragen.

 

 

Elke keer dat de server een PushPromise-bericht naar de client stuurt, wordt de gebeurtenis OnHTTP2PushPromise aangeroepen. Wanneer de client een PushPromise ontvangt, betekent dit dat de server deze resource in de volgende pakketten zal verzenden, zodat de client deze kan accepteren of weigeren.

 


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;