Several HTTP/3 frames are used to manage server push
similar to what is described in HTTP/2
Pushing is never "free", since while it saves a half round-trip it still uses bandwidth
It is often hard or impossible for the server-side to actually know with a high level of certainty if a resource should be pushed or not.
Server push
A server push is effectively the response to a request that the client never sent! Server pushes are only allowed to happen if the client side has agreed to them. In HTTP/3 the client even sets a limit for how many pushes it accepts by informing the server what the max push stream ID is.
https://http3-explained.haxx.se/en/h3/h3-push

Seonglae Cho