HTTP/2 offers many advantages over legacy protocols like HTTP/1.1. One of those features is Server Push, a way to push assets to the client before the server supplies the requested HTML document. This allows for faster load-times for critical assets. In this example I will be using the Caddy webserver, however modern Apache 2 and nginx versions also support Sever Push and HTTP/2.
With a new year comes a new server (now Debian 9 wooo!) and a new blog system built on craft 3.
Right of the bat I faced multiple challenges deploying this new blog because of a wonderful bug that causes the locking of project.yaml to not work in production environments. Long story short I had to reinstall this blog four times before it actually working.
The blog is served by Caddy which is awesome! It provides HTTPS with Let's Encrypt and HTTP2 with zero configuration.
Here is what my setup looks like: