I’m a little disappointed with the overall usefulness of the HTTP2 Server Push capabilities.
Well, the crux of the issue was that with Server Push I use the bandwidth & data of the user requesting the page even if they already have those files in the cache. This approach isn’t something that is a problem where connectivity and data are cheap but in a lot of places around the world that simply isn’t the case.
This article seems to hint at a possible way around that, and while I haven’t tested the hypothesis it does look like a nice approach.
If you’re using an HTTP/2 server that hasn’t solved this problem yet, don’t sweat it. You can easily solve this problem on your own with a little back end code.An excerpt from Creating a Cache-aware HTTP/2 Server Push Mechanism