Bringing HTTP/2 to GOV.UK - Resources
So at the start of February 2020 we permanently enabled HTTP/2 on GOV.UK (that feels like a long time ago now!). I spoke about this at London Web Performance, read a whole lot about HTTP/2 (and surrounding topics), and produced some work of my own in the process. Without all this, it would have been very difficult to justify the permanent change, as it wasn’t as simple as just “turning it on”.
So in an effort to help others in the same position, and to fully document the process, I’ve pulled together a post with as much information as I can remember about the work. It was inspired by Oliver Byford and his excellent ‘Inclusive forms: Anatomy of a (fictional) GOV.UK service’ blog post.
London Web Performance
My LdnWebPerf presentation and associated slides:
- Slides: Bringing HTTP/2 to GOV.UK - Matt Hobbs, March 2020
Internal research
- Initial Research: Bringing HTTP/2 to GOV.UK - Matt Hobbs, October 2018
- Initial Data: Performance testing HTTP/2 data - Matt Hobbs, October 2018
- Data comparison Sheet: HTTP/2 results before / after - Matt Hobbs, October 2018
- Initial Analysis: Was switching to HTTP/2 a good thing? - Matt Hobbs, October 2018
- Initial research: summary sheets - Matt Hobbs, October 2018
GOV.UK Fixed!
- Bringing HTTP/2 to GOV.UK - First technical draft - Matt Hobbs, February 2020
- GOV.UK RFC-115: Enabling HTTP/2 on GOV.UK - Matt Hobbs, January 2020
- Blog: Speeding up GOV.UK with HTTP/2 - Matt Hobbs, July 2020
- Case study: How GDS improved GOV.UK’s frontend performance with HTTP/2 - Matt Hobbs, July 2020
Subresource Integrity (SRI)
- Blog post: HTTP/2 and Subresource Integrity don’t always get on - Matt Hobbs, December 2019
- GOV.UK RFC-114: Changing SRI to allow for HTTP/2 to be enabled on GOV.UK - Matt Hobbs, December 2019
- Specification: Subresource Integrity - W3C Recommendation, June 2016
HTTP/2 prioritisation
- Repo: Tracking HTTP/2 Prioritization Issues - Andy Davies
- Repo: Stand-alone HTTP/2 prioritization test - Pat Meenan
- Blog: Better HTTP/2 Prioritization for a Faster Web - Pat Meenan, May 2019
- Video: HTTP/2 Prioritization - Velocity 2019 - Pat Meenan, July 2019
HTTP/2 connection coalescing
- Blog post: HTTP/2 connection coalescing - Daniel Stenberg, August 2016
- Docs: Connection management in HTTP/1.x: Domain sharding - MDN web docs
Cross-Origin Resource Sharing (CORS)
- Docs: Cross-Origin Resource Sharing (CORS) - MDN web docs
- Video: Demystifying CORS: It’s Simpler Than You Think - Bill Parrott, November 2017
- Tool: Will it CORS?
Learning materials
- Video: Revisiting HTTP/2 - LDNWebPerf - Hooman Beheshti, May 2018
- Blog post: Improving Perceived Performance With the Link Rel=preconnect HTTP Header - Andy Davies, March 2019
- Book: HTTP/2 in Action - Barry Pollard, March 2019
- Blog post: HTTP/2 is easy, just turn it on… - Neil Craig, November 2017
- Blog: HTTP-in-depth - Journey to HTTP/2 - Kamran Ahmed, August 2016
- Web Almanac: Part IV Chapter 20 - HTTP/2 - Barry Pollard, November 2019
Post changelog:
- 13/07/20: Initial post published.