F5 GLOSSARY

HTTP/2

What is HTTP/2?

HTTP/2 is one of the versions of the Hypertext Transfer Protocol (HTTP) used for the transmission of content such as HTML between clients (e.g., web browsers) and web servers. Initially, HTTP versions evolved as follows: HTTP/0.9 in 1991, HTTP/1.0 in May 1996, HTTP/1.1 in January 1997, culminating in HTTP/2’s release in May 2015 to address the growing diversity of web content, including images and videos.

The first HTTP version, HTTP/0.9, had minimal functionality—it only supported GET requests and had no response specifications. HTTP/1.0 improved functionality by introducing response headers and additional methods like POST, PUT, and DELETE. HTTP/1.1 further enhanced performance with support for virtual hosting, "KeepAlive" to maintain persistent connections, and pipelining to allow multiple requests without waiting for responses. These advancements optimized TCP resource usage and reduced response times.

In 2009, Google introduced SPDY, a fast communication protocol that later became the foundation for HTTP/2, with specifications standardized by the Internet Engineering Task Force (IETF). HTTP/2 retains backward compatibility with earlier HTTP versions while significantly improving communication efficiency at the session layer.

Key features of HTTP/2 include:

  • Allowing multiple requests and responses over a single TCP connection.
  • Server-side response push without waiting for client requests.
  • Binary encoding and header compression to reduce data sizes and improve transmission efficiency.

Unlike SPDY, HTTP/2 does not require the use of TLS (HTTPS), although by late 2015, most browsers supporting HTTP/2 required HTTPS by default.

HTTP/2 is now supported by many major web browsers and is rapidly replacing SPDY. For example, Google announced on February 11, 2016, that Chrome would discontinue SPDY support by May 15, 2016. While SPDY was widely adopted by several major platforms and websites, HTTP/2 is expected to become the standard protocol moving forward.