Thank you, Maxim and Valentin, for your prompt replies. I will reply
here to both so that we can maintain a single thread for this issue:
On 4/12/2017 12:57 PM, Valentin V. Bartenev wrote:
Server Push doesn't require HTTP/2 from the Upstream side. Moreover,
upstream usually don't have access to the static resources that are
served directly from nginx.
On 4/12/2017 12:59 PM, Maxim Dounin wrote:
There is nothing to stop a backend from performing a push based on
the knowledge. It's just a matter of providing upstream servers
with a way to push resources, e.g., via something like the
X-Accel-Push header or something like this. This doesn't need
HTTP/2 between nginx and upstream servers.
Moreover, using HTTP/2 with ability to push things will likely be
a problem here, as in most cases dynamic pages are generated
separately from static assets. Using nginx to do the actual
push is likely to be much more optimal here.
These are both good points, but it is my understanding that the server
that Pushes the resources needs to know which resources need to be
pushed, is that not the case?
If my Upstream (Tomcat, for example) generates a dynamic page for the
client, then it can keep track of all of the images on that page and
then push them. How can the Upstream "tell" nginx what to Push?
Please watch the clip at https://youtu.be/QpLtBftqM04?t=34m51s until
about 36m12s where Simone Bordet, a Jetty developer, claims that HA
Proxy is a better proxy solution than nginx because it talks HTTP/2 to
the Upstream.
Also please note that the Servlet 4.0 specification plans to add a
Push() API to push resources to the clients. If nginx doesn't use
HTTP/2 to talk to my Servlet engine (Tomcat, Jetty, etc.), this
functionality will not be available as the Servlet engine will treat the
request as an HTTP/1.
On 4/12/2017 12:59 PM, Maxim Dounin wrote:
The actual answer was "Now you can't configure HTTP/2 with
proxy_pass...", see here:
https://youtu.be/4OiyssTW4BA?t=14m34s
The transcript needs to be fixed, thanks.
Well noted, thanks for clarifying.
Igal Sapir
Lucee Core Developer
Lucee.org <http://lucee.org/>
_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx