title: HTTP/2 Server Push not working, what am I doing wrong?
body: <p>This is my first question here, hope I'm doing it right.</p>
  
  <p>I'm using a LiteSpeed webserver with HTTP/2 (shared hosting provider), but I can't get the push feature to work. I'm not quite sure how to check if it works, but at least as far as I can tell it isn't working properly.</p>
  
  <p>So I have looked up a ton of guides (<a href="https://www.tutorialdocs.com/article/http2-server-push.html" rel="nofollow noreferrer">HTTP/2 Server Push Tutorial</a> or <a href="https://www.smashingmagazine.com/2017/04/guide-http2-server-push/" rel="nofollow noreferrer">A Comprehensive Guide To HTTP/2 Server Push</a> as examples), and they all mention changing the headers by adding the following:</p>
  
  <pre><code>link: &lt;/my/theme/css/style.css&gt;; rel=preload; as=style
  </code></pre>
  
  <p>I understand that this code tells the server to preload said resource, in this case style.css. However, if the server supports HTTP/2 push, then it should automatically push the resource instead (as long as you don't add nopush at the end of it). The second link does mention that this is true for most, but not all servers.</p>
  
  <p>So with this in mind, I created a simple test PHP page to see if I could get it working. The result was this:</p>
  
  <p><a href="https://i.stack.imgur.com/7mWU2.png" rel="nofollow noreferrer">Chrome DevTools showing Headers tab with link preload</a></p>
  
  <p><a href="https://i.stack.imgur.com/tubTV.png" rel="nofollow noreferrer">Network tab in DevTools showing the result</a></p>
  
  <p>So most of the guides I saw mentioned that the Initiator in the Network tab for the pushed resource would say <strong>Push / Other</strong> (or similar) instead of just <strong>Other</strong>, but as you can see from my result it just says Other. Not to mention that the resource doesn't get loaded in the same request, it just looks like a simple preload to me. I also tested my site with <a href="https://http2.pro/check" rel="nofollow noreferrer">https://http2.pro/check</a>, and it says no resource is pushed.</p>
  
  <p>This was tested with Chrome 71.0.3578.98.</p>
  
  <ul>
  <li>Am I missing something important here? Could it be a problem with my server?</li>
  <li>Another question. When defining multiple resources in the headers for preload and push, some guides mention creating multiple link-elements, while others mention comma separating them in a single link-element. Are both of these correct, is one better than the other?</li>
  </ul>
  
  <p>Any help or enlightenment is appreciated, thanks!</p>