HTTP/2 Server Push without the Link header?


#1

Just little over a year ago Cloudflare was one of the first – if not the first – to offer us HTTP/2 Server Push. That feature may be the most important performance benefit that HTTP/2 offers, besides concurrent downloads of course.

Sadly, I haven’t been able to use Server Push because it requires setting the Link header, which is something that S3 doesn’t support. (Nor the computing storage products that Google or Azure have.)

Can Cloudflare allow us to configure Server Push in other ways too? That would make us less dependent on the particular features of our origin server.

In the blog post mentioned above, there was already some speculation about new tools/features:

In the future, we plan to develop new tools to help our users to make more educated decisions in regards to Server Push. Over time, CloudFlare will even be able to predict the best assets to push automatically.


#2

maybe setup a reverse proxy in front of s3 https://coderwall.com/p/rlguog/nginx-as-proxy-for-amazon-s3-public-private-files ?


#3

Thanks for the recommendation.

There are also other ways to work around this (like setting up a regular server). But for me that has several disadvantages:

  • Server maintenance and security takes a lot of time to set up and manage,
  • Requires technical skills that I currently don’t have (so I’ll need to spent time learning),
  • Reduces the security of my website (more possible attack vectors than static file hosting at S3),
  • And gives extra costs.

Since I’m just a single-person team, this gives me a lot of extra work. My reasoning behind paying Cloudflare every month is to make my life easier. Firing up servers doesn’t do that. :slight_smile:


#4

Any comment from the CF team on this request? Would be interesting to hear your guys (and gals) thoughts.

I’m also curious to hear how far you’ve come with “automatically predicting the best assets to push”. Would probably fit in nicely with the kind of big data analysis that Cloudflare’s Argo uses.


#5

Unfortunately I don’t have any details that I can share just yet. But I’ve already passed the feedback along to the appropriate folks here. Will report back when I have something concrete that I’m allowed to share. :slight_smile:


#6

I just wanted to update this topic and say I don’t want this feature request anymore. I’ve implemented HTTP/2 server push with Cloudflare Workers now. :slight_smile:


#7

That’s great to hear! Please be sure to open a Workers thread and leave any feedback. The team would love to see it.


#8

#9

Good job! Would love to see your code, I’ve been working on an implementation as well in my lab, on which condition are you pushing the link header?