<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<p>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:</p>
<p>On 4/12/2017 12:57 PM, Valentin V. Bartenev wrote:<br>
<blockquote type="cite">
<pre wrap="">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.</pre>
</blockquote>
<br>
On 4/12/2017 12:59 PM, Maxim Dounin wrote:<br>
<blockquote type="cite">
<pre wrap="">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.</pre>
</blockquote>
<br>
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?</p>
<p>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?</p>
<p>Please watch the clip at <a class="moz-txt-link-freetext" href="https://youtu.be/QpLtBftqM04?t=34m51s">https://youtu.be/QpLtBftqM04?t=34m51s</a>
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.</p>
<p>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.</p>
<div class="moz-signature">
<div class="moz-cite-prefix">On 4/12/2017 12:59 PM, Maxim Dounin
wrote:<br>
<blockquote type="cite">
<pre wrap="">The actual answer was "Now you can't configure HTTP/2 with
proxy_pass...", see here:
<a class="moz-txt-link-freetext" href="https://youtu.be/4OiyssTW4BA?t=14m34s">https://youtu.be/4OiyssTW4BA?t=14m34s</a>
The transcript needs to be fixed, thanks.</pre>
</blockquote>
</div>
<p>Well noted, thanks for clarifying.</p>
<p><br>
Igal Sapir
<br>
Lucee Core Developer
<br>
<a href="http://lucee.org/">Lucee.org</a></p>
</div>
</body>
</html>