4.15. Using Server Push
4.15. Using Server Push
HTTP/2 [HTTP/2] introduced server push, which allows servers to send responses to clients without waiting for a request. This can improve performance by allowing servers to proactively send resources that the client will likely need.
However, server push has proven to be difficult to use effectively in practice. It requires careful consideration of:
-
Which resources to push.
-
When to push them.
-
How to avoid pushing resources the client already has.
-
How to coordinate with caching.
As a result, server push is not widely used, and support for it has been removed from some browsers. HTTP/3 [HTTP/3] does not include server push.
Applications that want to use server push SHOULD:
-
Carefully evaluate whether push will actually improve performance for their use case.
-
Consider alternatives such as inlining resources or using early hints [RFC8297].
-
Be prepared for clients that don't support or accept pushed resources.
-
Clearly specify when and what resources will be pushed.
Given the limited adoption and support for server push, applications SHOULD NOT require it for correct operation.