 In this mini-tip, I want to introduce you to a little tool which allows you to play around with HTTP2 locally. I'm Surma, and I'm also the author of this tool. HTTP2 is supported in almost all browsers at this point and brings off changes both in how we design as well as build our web apps. The support on the server side is a little bit more lacking, so just quickly playing around with it gets a little tough, especially considering you need a TL-S certificate for HTTP2 to work. Generating a self-signed certificate for localhost is kind of tedious as well, which was motivation enough for me to write this little tool. Most web developers should be familiar with Python's build in the web server called Simple HTTP Server. You usually start it over the command line and it serves the current directory over HTTP. What I wrote is called Simple HTTP2 Server and behaves exactly the same, but uses HTTP2 instead and takes care of generating a certificate for you. I wrote it in Go instead of Python because, A, I'm pretty useless when it comes to Python and, B, Go has the nice side effect that you only need to download one binary and don't need a runtime or an SDK. You can find all these binaries for Windows, Linux and OS X in the release section of the repository on GitHub. You basically install this tool by putting the binary in your path. If you start the tool, it will generate a key.pam and a cert.pam, which are the private and the public parts of the certificate. It then starts up a web server serving the current directory. If you open up DevTools, go to the network tab and add the protocol column. You'll hopefully see H2 showing up. That is the official symbol for HTTP2 and it means that it's working. One interesting feature of HTTP2 is called Push. It allows you to send additional resources to the client that the client doesn't even know it needs yet. So for example, you could push a JavaScript and CSS files when someone is requesting the index HTML. Simple HTTP2 server has support for this too. You need to write a JSON file that lists all the resources that should be pushed when a certain file is requested. Save that file as push.json in the root of the project and start simple HTTP2 server. As you can see, the error about a missing push manifest is now gone. The server will now push as you specified in the manifest. And that's it already. Keep in mind that this tool is for experimenting and not a production web server. If you have any problems or questions, feel free to hit me up on Twitter or open up an issue on the GitHub repository. Enjoy HTTP2!