What is http2

Last updated: April 1, 2026

Quick Answer: HTTP/2 is the second major version of the HTTP protocol that governs data transfer on the web. It improves upon HTTP/1.1 by enabling faster page loads through multiplexing multiple requests, compressing headers, and allowing servers to push resources proactively.

Key Facts

Understanding HTTP/2

HTTP/2 is the second major iteration of the Hypertext Transfer Protocol, the foundation protocol for data communication on the World Wide Web. Released in 2015, it represents a significant advancement over HTTP/1.1, which had remained largely unchanged since 1999. HTTP/2 was designed to address the performance limitations of its predecessor while maintaining backward compatibility with existing web applications and infrastructure.

Key Technical Improvements

HTTP/2 introduced several fundamental changes to how data is transmitted. The protocol uses binary framing instead of the text-based approach of HTTP/1.1, which allows for more efficient parsing and processing by both browsers and servers. This binary format is more compact and faster to transmit. The protocol also implements multiplexing, a revolutionary feature that allows multiple HTTP requests and responses to be sent simultaneously over a single connection. In HTTP/1.1, browsers typically opened multiple parallel connections to overcome single-connection limitations; HTTP/2 eliminates this workaround by handling everything through one connection, reducing overhead and improving efficiency.

Header Compression and Bandwidth Reduction

HTTP/2 introduces HPACK header compression, which significantly reduces the amount of data transferred. HTTP headers contain metadata about requests and responses, and they can represent a substantial portion of transmitted data, especially for applications making many small requests. HPACK compresses headers using a combination of static and dynamic reference tables, reducing redundancy across multiple requests. This compression is particularly beneficial for mobile devices and slow network connections where bandwidth is limited. Studies show header compression can reduce header overhead by 80-90% compared to HTTP/1.1.

Server Push and Proactive Resource Delivery

Server push is a distinctive feature allowing servers to send resources to clients before they are explicitly requested. When a server receives a request for an HTML page, it can immediately push associated CSS stylesheets and JavaScript files without waiting for the browser to parse the HTML and request those resources. This proactive approach can significantly reduce page load time by delivering critical resources immediately. However, server push requires careful implementation to avoid pushing resources the client already possesses, which would waste bandwidth.

Security Requirements and Adoption

Although HTTP/2 doesn't technically require encryption, most major browsers only support HTTP/2 over HTTPS/TLS connections. This requirement has contributed to broader HTTPS adoption across the web, improving overall security. HTTP/2 is now supported by approximately 98% of modern web browsers and is deployed on most major websites. It requires server-side support through updated web server software like Apache 2.4.17+, Nginx 1.9.5+, or specialized HTTP/2 services. Content delivery networks (CDNs) have universally adopted HTTP/2 support, making it accessible even to sites not running their own HTTP/2-enabled servers.

Related Questions

How is HTTP/2 different from HTTP/1.1?

HTTP/2 uses binary framing instead of text, supports multiplexing multiple requests on one connection, compresses headers, and enables server push. HTTP/1.1 requires multiple connections and doesn't compress headers, making it slower for modern web applications.

Is HTTP/2 secure?

HTTP/2 doesn't inherently provide encryption, but browsers require HTTPS (TLS encryption) to use it. This requirement has improved web security by making encrypted connections standard practice for HTTP/2 sites.

Do I need to change my website code to use HTTP/2?

No, HTTP/2 is backward compatible with HTTP/1.1. Your existing website will automatically work with HTTP/2 when served over an HTTP/2-enabled server. No code changes are required, though optimization strategies may differ.

Sources

  1. Wikipedia - HTTP/2 CC-BY-SA-4.0
  2. MDN Web Docs - HTTP/2 CC-BY-SA-2.5
  3. IETF RFC 7540 - HTTP/2 Specification IETF