Server Push

There are two kinds of server pushes.

1. video server keeps pushing jpg image frames as a way for browser to play video.

AKA M-JPEG over HTTP, “server push stream”. As a mime-type content type multipart/x-mixed-replace;boundary=boundary-name, the images are separated by boundary-name.

It’s really still a Pull instead of Push because images are sent as one resource in response to GET. The URL looks like this:

2. The other server push is truly a Push. For example, browser request 1.htm, but server returns 2.htm, which browser didn’t request, in addition to 1.htm. This is part of HTTP/2 standard.
Nginx started supporting at version 1.13.9