HTTP 2 Push: Fact? Fiction? Placebo?

HTTP 2 Push: Fact? Fiction? Placebo?

I’m currently working on a job proposal / contract for a potential new client, where their existing website isn’t just in trouble for… What Is HTTP 2 Push? It is a means by which the same “connection” to a server can be used to serve multiple files. Each separate file is normally ...

I’m currently working on a job proposal / contract for a potential new client, where their existing website isn’t just in trouble for accessibility woes, ’tis too slow for many visitors to even want to use. We’re talking 50+ second pageloads on broadband cache-empty with only six images, none of those images being particularly massive (though I can likely cut them in half by adding webm and optimizing the png fallbacks).

I thought that what I’m finding — and one of the false paths to diagnosing the problems I went down — might help others.

Their existing staff has tried a lot of “trickery” to try and make the site faster. CDN, Cloud, AMP, slopping above the fold style into the markup, and of course implementing HTTP 2 push (aka the artist formerly known as SPDY).

Even “super-soldier serum” is an excuse for not working out.

Have you ever heard the joke:

“Americans will do anything to lose weight, ANYTHING!!! Well, except eat right and exercise.”

Well their website is a case of doing anything and everything to make it faster, except using less code, less separate files, and leveraging caching. In fact much of the tricks they’ve tried to use to make it faster have seemingly made it slower.

And from what I’m seeing, that appears to include HTTP 2 push as doing more harm than good?!? Something’s rotten in Denmark, that shouldn’t be causing issues.

What Is HTTP 2 Push?

It is a means by which the same “connection” to a server can be used to serve multiple files. Each separate file is normally a separate connection and request to the server. On that connection a process we call “handshaking” is used to ask for and send the file. The normal process can be summarized as:

  1. Hey server, do you have this file, and is it newer than the copy I’ve already got? If any.
  2. Yes, I have that file, and yes it’s newer.
  3. Ok, send it to me.
  4. Alrighty then, incoming.

This oversimplifies, and it ain’t quite right.

But for purposes here it’ll have to do,

’Cause I ain’t got the time to explain it to you.

Each of these steps takes time, generally in the ballpark of your “ping time” to the server. A “ping” is a testing request to see how long it takes for a message to reach a server, and for it to respond. The rule of thumb is that each handshake averages around 200ms.

That might sound higher than possible given a page with 48 files doesn’t take 9.6 seconds to load, but that’s the average. Thing is, thanks to being able to open around 8 connections at once to a server, these requests typically overlap reducing their overall penalty. Requests can also be queued rather than immediately served, reducing the overhead by half again.

A good “guesstimate” for most pages across a slower but still broadband connections is:

200ms (initial file) + 200ms for the first eight additional files + 100ms for each additional file past the first nine.

optimization http-request web-development hosting

Bootstrap 5 Complete Course with Examples

Bootstrap 5 Tutorial - Bootstrap 5 Crash Course for Beginners

Nest.JS Tutorial for Beginners

Hello Vue 3: A First Look at Vue 3 and the Composition API

Building a simple Applications with Vue 3

Deno Crash Course: Explore Deno and Create a full REST API with Deno

How to Build a Real-time Chat App with Deno and WebSockets

Convert HTML to Markdown Online

HTML entity encoder decoder Online

Why Web Development is Important for your Business

With the rapid development in technology, the old ways to do business have changed completely. A lot more advanced and developed ways are ...

Important Reasons to Hire a Professional Web Development Company

    You name the business and I will tell you how web development can help you promote your business. If it is a startup or you seeking some...

Hire Dedicated eCommerce Web Developers | Top eCommerce Web Designers

Build your eCommerce project by hiring our expert eCommerce Website developers. Our Dedicated Web Designers develop powerful & robust website in a short span of time.

How long does it take to develop/build an app?

This article covers A-Z about the mobile and web app development process and answers your question on how long does it take to develop/build an app.

Custom Web Development Services | Vinew Technologies

Vinew Technologies is the leading Custom web development services company known for creating state of the art custom business websites that help you engage your audience better.