Why HTTP/2 matters

Not many people understood what HTTP/2 is about. I think it’s easy to misunderstand: HTTP/2 is faster, allows better support for a lot of things that are not relevant to what I want to point out.

HTTP/2 is a sign that our old technology is failing. The web is built on a lot of aging technology, and HTTP is just one of these. DNS comes to mind, such a critical resource, still vulnerable to simple attacks. It’s a miracle that the web works, however, the presence of HTTP/2 means that things can and should be improved.

HTTP/2 signals that the old ways of doing things are wasteful and are not expressive enough. They can’t support the needs of current day netizens. There are a lot of things to be discussed, and security is one of them. HTTP/2 brings a focus on the one thing that nobody has and everyone wants. Security, secrecy, safety for data. It’s not a solved problem, it just makes it harder for private individuals to break it. But at least people are thinking about that.

HTTP/2 discards plaintext for structured octet streams. Compresses information. Shows that there’s a limit to convenience and we need to get down to the metal to take back those bits and bytes. Things are simpler, and allow for more complex scenarios.

And HTTP/2 means that no student will be able to write that homework (a web-server) from scratch anymore. Not in the first week after they learn what sockets are. Now the web-server becomes something more consistent, and it requires a lot more reading.

Now, time to work on a replacement for Javascript.

Bătălia de la Lepanto - Pieter Brünniche
Bătălia de la Lepanto – Pieter Brünniche

5 Replies to “Why HTTP/2 matters”

  1. The failing part of the old technology was not so much the plain-text nature of the HTTP protocol, but a certain feature of TCP (binary protocol) which makes initiating connections expensive: congestion control. Most of the speed gains come from multiplexing multiple streams over a single TCP connection, and that could have been done with a plain-text protocol as well. A binary protocol was a nice-to-have feature that adds a bit of extra speed (less bits in the wire, fast filtering and decoding using simple bit masks), makes code simpler, and protects against incompetents writing parsers.

  2. Indeed, the congestion control is what makes things costly; however, I felt that the move to binary data was a subtle but very clear sign of returning to a performance-oriented world. I think we’ll see more and more things moving in this direction. I hope, at least.

Comments are closed.