title: What is the WebSockets alternative in the HTTP/2 world?
body: <p>The new HTTP/2 protocol comes with some promising features. Some of them:</p>
  
  <ul>
  <li>Multiplexing - a single TCP connection can be used to make multiple HTTP/2 requests and receive multiple responses (to a single origin)</li>
  <li>HTTP/2 Server Push - sending server responses to the client without receiving requests, i.e. initiated by the server</li>
  <li>Bidirectional connection - <a href="https://http2.github.io/http2-spec/#StreamsLayer" rel="noreferrer">HTTP/2 spec - Streams and Multiplexing</a>:</li>
  </ul>
  
  <blockquote>
    <p>A "stream" is an independent, bidirectional sequence of frames
    exchanged between the client and server within an HTTP/2 connection.</p>
  </blockquote>
  
  <p>The motivation behind HTTP/2 is explained here <a href="https://http2.github.io/faq/" rel="noreferrer">HTTP/2 FAQ</a>: </p>
  
  <blockquote>
    <p>HTTP/1.1 has served the Web well for more than fifteen years, but its
    age is starting to show.</p>
  </blockquote>
  
  <p>and </p>
  
  <blockquote>
    <p>The goal of the Working Group is that typical uses of HTTP/1.x can use HTTP/2 and see some benefit.</p>
  </blockquote>
  
  <p>So HTTP/2 is nice and comes to replace HTTP/1.x. Unfortunately, <a href="https://daniel.haxx.se/blog/2016/06/15/no-websockets-over-http2/" rel="noreferrer">HTTP/2 does not support WebSockets</a>. In this question <a href="https://stackoverflow.com/questions/28582935/does-http-2-make-websockets-obsolete">Does HTTP/2 make websockets obsolete?</a> it is made clear that the HTTP/2 Server Push is not an alternative, neither are <a href="https://stackoverflow.com/questions/5195452/websockets-vs-server-sent-events-eventsource">Server-Sent Events</a>.</p>
  
  <p>Now to the question: What do we use if we want WebSockts functionality over HTTP/2?</p>