HTTP 2 Cool
HTTP is finally getting a facelift. The protocol that carries a vast majority of content over the internet has not seen a change in over 15 years. In that time, the internet has had to support major innovations, leading to record-high requests for content, everywhere. Unfortunately, HTTP/1.x does not have the capacity to execute such a high volume of requests in the most efficient manner, leading to the creation of HTTP/2. Here are some of the improvements that HTTP/2 will bring:
- Avoid head-of-line blocking
HTTP/1.x has a problem called “head-of-line blocking”, which only allows one outstanding request at a time, resulting in a waterfall of blocked requests. HTTP/1.x attempted to fix this issue by pipelining, but that didn’t completely address the problem, because a large or slow response can still block others behind it.
- Load page elements in parallel over a single TCP connection
Traditionally, browsers have used multiple TCP connections to issue parallel requests, but this leads to a congested network, and even duplicated data on “the wire,” causing browsers to hog a large share of network resources and ultimately hurting performance.
- Security by default
Encryption is not a hard requirement for HTTP/2, though browsers that are currently running over the new and improved protocol do not support an unencrypted version. To run over TLS, version 1.2 or higher is required. Additionally, TLS implementation must support Server Name Indication (SNI), a TLS extension.
- Binary rather than textual headers
Binary files are easier to parse and more compact than text files, making the delivery process faster and more efficient.
- Server Push
When a request for a page is made, the server sends the HTML in the response and then awaits the browser to dissect the HTML and issues requests for the associated assets (CSS files, JS files, etc). Server Push however, allows the server to avoid unnecessary round trips for those additional assets by pushing the responses it thinks the client will need.
The latest releases of Firefox and Chrome support HTTP/2, and most other big-name web browsers have plans to follow suit. Verizon Digital Media Services is hard at work enhancing our web server, Sailfish, to bring support at the edge toward the beginning of 2016. If you are running over HTTP/1.x, it is not necessary to move over to HTTP/2. In fact, users of HTTP/1.x can still see some benefits of HTTP/2 without completely migrating over.
What does this mean for our customers?
To quote Mark Nottingham, one of the authors of HTTP/2, “HTTP/2 isn’t magic Web performance pixie dust; you can’t drop it in and expect your page load times to decrease by 50%.” What you can expect is improvement on performance over lossy connections as seen on connected devices and a general improvement in performance as browsers and servers optimize their sites and applications to account for the enhancements this updated protocol offers. The downside to HTTP/2 is that now poor network connectivity will be more noticeable, but with our globally-distributed edge, and our world-class connectivity and peering, we expect these protocol enhancements should allow Verizon Digital Media Services to continue to offer the best performance on the market.
Nicholas Soegeno, Associate Product Manager HTTP