Chapter 11. Looking to the future with HTTP/2

This chapter covers

  • Learning the history of HTTP/1 and its problems
  • Exploring the evolution of HTTP/2
  • Understanding request multiplexing and header compression, new in HTTP/2
  • Exploring how optimization practices differ between HTTP/1 and HTTP/2
  • Speeding the delivery of crucial page assets by using Server Push
  • Optimizing for HTTP/1 and HTTP/2 clients on the same server

The web is changing. For years, users and developers have been vexed by the limitations of the HTTP/1 protocol. Although developers have been squeezing every last drop of performance from this aging protocol, we must accept that it’s time to move on and adopt HTTP/2.

This chapter covers the problems inherent in HTTP/1 as well as the benefits of HTTP/2, such as request multiplexing and header compression. We also cover how these benefits solve the problems that exist in HTTP/1 client/server interactions. In the course of all of this, you’ll write a small HTTP/2 server in Node and see these benefits in action.

HTTP/2 offers more than cheaper requests and compressed headers. It also offers an optional feature called Server Push, which can be used to send specific assets to visitors without them having to ask. When used intelligently, Server Push speeds up the loading and rendering of your website. You’ll learn how this feature works and how to use it.

11.1. Understanding why we need HTTP/2

11.2. Exploring how optimization techniques change for HTTP/2

11.3. Sending assets preemptively with Server Push

11.4. Optimizing for both HTTP/1 and HTTP/2

11.5. Summary