HTTP/2 allows a server to pre-emptively send (or “push”) responses (along with corresponding “promised” requests) to a client in association with a previous client-initiated request. This can be useful when the server knows the client will need to have those responses available in order to fully process the response to the original request.
API Platform leverages this capability by pushing relations of a resource to clients.
public Author $author;
By setting the
push attribute to
true on a property holding a relation, API Platform will automatically add a valid
Link HTTP header with the
According to the Preload W3C Candidate Recommendation, web servers and proxy servers can read this header, fetch the related resource and send it to the client using Server Push.
Using this feature maximises HTTP cache hits for your API resources. For best performance, this feature should be used in conjunction with the built-in HTTP cache invalidation system (based on Varnish).