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


Why HTTP/2 matters — 5 Comments

  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.

    • 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.

  2. Pingback: Vulkan, the next OpenGL | dorinlazar.ro

  3. Pingback: Google, Microsoft, Mozilla and Apple finally start taking the Web seriously | dorinlazăr.ro