An HTTP/2 Overview

http2

Here are a few key things to know about HTTP/2.

First, the primary goal of the protocol upgrade is performance improvement, with the focuses being on improving latency, reducing the required number of TCP connections, and otherwise improving the user experience for getting content over HTTP—all while keeping the semantics of HTTP/1.1

So, here are a few of the key ways of doing this:

  • Multiplexing: Gives us the ability to get multiple interactions into a single TCP connection, similar to what SPDY gave us

  • Header Compression: Reduces the redundancy of sending the same headers repeatedly, e.g., Request URI, User-Agent, Cookies, and Referer

  • Server Push: Handles some of the issues of resource dependencies, such as needing JS and CSS files to get a given resource, so the server can push them to you knowing you’ll need them

  • Resource Prioritization: Prioritizing delivery based on type/content using weights and dependencies. The server can have knowledge of what you should receive first, to optimize delivery and rendering

Notes

  1. To learn more I recommend the Wikipedia article for starters.

Related posts: