<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>