HTTP/2 has been out for about a year. Over that time, Michael Gooding and Javier Garza have worked with many customers to implement it. However, beyond a turnkey solution that offers instant performance gains, HTTP/2 has led to a large amount of questions and confusion about how to optimize for it. Michael and Javier share their experiences with HTTP/2 over the last year, discussing case studies that demonstrate how performance can be improved over HTTP/2 while addressing backward compatibility, exploring using RUM data to review performance-related observations of customers after switching to HTTP/2, and offering hands-on demos of HTTP/2 with server push and HTTP/2 + QUIC.
Topics include:
Rendering impact without prioritization: Many solutions currently do not support server push or prioritization, which can have a negative impact on rendering when all resources instantly compete for the same bandwidth. Michael and Javier discuss solutions to mitigate this problem.
Breaking out to smaller files: Best practices used to dictate combining CSS and JavaScript into as few resources as possible. In an HTTP/2 world, the advice is to leave files alone and serve them as they are. Michael and Javier look at examples where trade-offs exist between the delivery, management, compression, and caching and advise how best to approach the problem.
Sprites: As with smaller files, what should we do with sprites in an HTTP/2 world? Looking at examples, Michael and Javier analyze the trade-offs in breaking a sprite out to smaller parts, looking at the effects of less-complex CSS against network performance to see how much of a difference it actually makes on performance.
Delivering for HTTP/1.x: Many websites today still have a large user base from older browsers that do not and will not support HTTP/2. By reviewing case study sites optimized for HTTP/2, Michael and Javier display the delta between a site delivered over an HTTP/2 connection and an HTTP/1.x connection. Taking these differences into account, they then explore some common trade-offs and review the delivery options to provide good performance for both protocols at the same time.
Real-life HTTP/2 web performance data: Michael and Javier explain how to use RUM data to review web performance data from large websites after enabling HTTP/2 and see the conditions where the performance improvements are at their best.
Hands-on demo comparing the web performance of HTTP/2 versus HTTP/1.x 1 and HTTP/2 with server push and QUIC.