What is http2
Last updated: April 1, 2026
Key Facts
- Uses binary framing instead of text-based commands, making protocol processing more efficient
- Supports multiplexing, allowing multiple requests and responses over a single connection simultaneously
- Implements header compression using HPACK algorithm to reduce bandwidth overhead
- Enables server push, where servers can proactively send resources before client requests
- Requires HTTPS/TLS encryption for most browser implementations, improving overall web security
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.
More What Is in Daily Life
Also in Daily Life
More "What Is" Questions
Trending on WhatAnswers
Browse by Topic
Browse by Question Type
Sources
- Wikipedia - HTTP/2CC-BY-SA-4.0
- MDN Web Docs - HTTP/2CC-BY-SA-2.5
- IETF RFC 7540 - HTTP/2 SpecificationIETF