HACKER Q&A
📣 elgatito

Convince Me of HTTP 2


Possibly a clickbaity title :) but it's an honest question on the hype on the new HTTP versions.

I am familiar with the hypothetical advantages and with the synthetic benchmarks, but does this really translate into noticable, real-world differences in browsing experience?

IMHO it does not. I've had my browser configured for HTTP 1.1 now for months and enabled HTTP 2 and 3 for the past few days, but cannot say there was mentioned noticable difference in how fast sites were loading.

Did I miss anything? Did you notice a significant speedup when you switched to HTTP 2? Please only your real-world experience, as mentioned I know it can have better performance in synthetic benchmarks.


  👤 rektide Accepted Answer ✓
> Please only your real-world experience,

Hard NACK, absolutely not.

Noticeable is not relevant. If there are a billion people who load 40 pages and each saves 2ms, we save 2.5 human years a day.

Http2 isn't even the good stuff. It still has horrible head of line blocking.

Where these protocols, http3 in particular, has real greatness is in it's ability to handle lossy & jittery connections. On http1 or http2 with a dodgy mobile connection, recovery from a missed packet or three can be egregiously painful. With http3 the bits can keep flowing.

In general I have high skepticism that you want to be convinced. This narrow on-guiderials "anecdote only" line of inquiry speaks to hang ups, about resistance to allowing progress. You are looking for personal annecodotes, talking about your experience, but I highly doubt humans have the mind to really be able to tell about very fine differences, but that doesn't invalidate time saved, as we load so many resources a year. Last, you likely have very fine internet connections where many of the overwhelmingly grand advantages don't come out.


👤 clnq
Yes, I do notice a significant speed up with HTTP/3 compared to 1.1.

But I have spent some years of my life playing eSports shooters competitively and I can tell the difference between something happening in 150ms or 250ms and monitors below 120Hz make me uncomfortable. Some people, on the other hand, claim that cloud gaming has no perceivable input lag. So it depends on the person.

With that said, 1.1->3 should be perceivable for most people, I think. Head-of-line blocking is slowing things down significantly. HTTP/3 latency feels like browsing with UDP, which it is.

Of course, browsers do caching and pre-emptive loading, so the user experience in many cases will be the same. But when loading a website for the first time, or reading an article with many images for the first time, I think the difference in page load/draw times can be easily observed.

EDIT: On further investigation, it seems like 1.1->3 should be perceivable for most people if they are on poor quality connections, and if the website/web app is heavy. Looks like I fall into that bracket with some of my devices as I live in an ancient house with stone walls, the natural enemy of WiFi.


👤 andrewmcwatters
I think any meaningful improvements that could have arrived by improvements to the Hypertext Transfer Protocol itself will have and can have been eaten up by all the stupidity of modern web development.

So no, I don't think anything meaningful has arrived in terms of performance, otherwise we'd all be singing its praises.

Rest In Peace, HTTP/2 Server Push.


👤 jsdeveloper
Its not noticible at the client side as much it is at the server side. Every millisecond saved at server side allows it to serve other thousands of connections.

👤 yyyk
IIRC, There are studies which show a difference, especially in poor latency scenarios.

The issue with HTTP/2 is that it complicates the stack: ideally one would support either HTTP/2 or HTTP/3 but there's little point in supporting both, since you always have HTTP 1.1 to fall back to. HTTP/3 offers best performance, HTTP/1 best compatibility, HTTP/2... doesn't offer that much in comparison.


👤 nepthar
Genuine question - why is it up to us to convince you? It's already in widespread use benefiting the folks who use it.

👤 austin-cheney
No. Instead I will convince you in opposition to HTTP.

Switching from HTTP to WebSockets across the board increased the test automation in my app 7x. This also simplified a massive amount of administration and maintenance in my application regarding micro services.

HTTP2 is better than HTTP for downloading many assets simultaneously, but if you want your web application to be fast you need to bundle assets as much as possible there are fewer things to need in parallel.


👤 brundolf
My question is, why not? I think we can all agree it's better, whether or not a noticeable amount for a given person doing a given activity, and it's pretty well baked into the stack at this point

👤 z3t4
I would say server push is the main selling feature. It allows you send the assets together with the first request in order to save a few roundtrips. It however took years for the major browser to implement it properly eg. Not re-downloading the pushes files. And now server push is being deprecated.

👤 kierank
Take a flight and use the onboard wifi to visit websites.