HTTP/2 Now Available for Apache 2.4.17 and Can Make the Internet Faster
The Internet could become a lot faster in the coming years thanks to mod_h2, an Apache 2 extension which is supported in Apache’s 2.4.17 release. *.17 just came out on the 13th of October, and includes mod_http2, a module which allows system administrators to easily enable HTTP/2, the long-awaited next generation of the Hypertext Transfer Protocol.
For the uninitiated, this may not sound important. It takes some background information to get what’s going on here. Consider that HTTP 1.1 has been standardized since the late 1990s, although it was in use for much longer than that. HTTP was originally developed in 1989 by Tim Berners-Lee and his crew on the World Wide Web project. This team also developed HTML itself and had a lot of influence over early web browsers, such as Mosaic.
HTTP did its job marvelously in a time when bandwidth was universally low and both content providers and users were conscious of this. But modern web sites and users have no such limitations, and this has led to serious congestion even when bandwidth is there. Server resources besides simply connection speed matter more than ever, because the fundamental limitation of HTTP 1.1 is the way it handles packet requests. As the HTTP/2 team themselves put it:
[…] HTTP practically only allows one outstanding request per TCP connection. […] In the past, browsers have used multiple TCP connections to issue parallel requests. However, there are limits to this; if too many connections are used, it’s both counter-productive (TCP congestion control is effectively negated, leading to congestion events that hurt performance and the network), and it’s fundamentally unfair (because browsers are taking more than their share of network resources).
The HTTP/2 team is from the same organization which standardized HTTP originally, the Internet Engineering Task Force, which also governs a number of other commonly used standards. This means there is a good deal of continuity in methodology used at the base level.
HTTP/2 promises to liberate browser developers from having to route around the limitations of the protocol, ultimately resulting in a faster web. Apache httpd (Hyptertext Transfer Protocol daemon) has been the most popular web server kit since 1996, and remains so today. There’s no indication that competing servers, such as Nginx, will not implement support for HTTP/2 as well. However, it’s about network effect. If millions of servers can easily upgrade now to HTTP, simply by upgrading their Apache 2 to 2.4.17 and doing the command a2enmod http2, this means that many of them will.
There will be some latency in the time between this release and implementation on a wide scale. Eventually HTTP/2 is meant to wholly replace HTTP everywhere, making for a more efficient web which is more cognizant of our modern resources. Presumably HTTP can remain as a fall-back for older set-ups and those in countries with limitations.
For those looking for a more simplistic guide to getting the most out of HTTP/2, check out Stefan Eissing’s guide.
Images from Shutterstock and Wikipedia.