Section has supported the SPDY protocol since the platform’s inception and we’ve been trialing HTTP/2 in recent months. Today HTTP/2 is enabled for all sites using Section.
To benefit from HTTP/2 on your Section-proxied site now, just ensure you have configured a valid certificate for HTTPS in the Section Console. After your certificate is saved and deployed, your site will support HTTP/2 for HTTPS connections on Section.
While the HTTP/2 standard supports unencrypted connections, modern browsers are currently only supporting it with HTTPS. This is just one more reason to ensure your site works on, and prefers, HTTPS for all pages.
What are the benefits of HTTP/2?
Ultimately HTTP/2 will lead to faster page load times for your users.
HTTP/2 will transfer multiple resources concurrently on a single connection. This reduces the TLS/TCP handshake cost traditionally involved with the browser establishing multiple connections to your site and also removes the need to implement domain-sharding to bypass the per-domain connection limits imposed by the browser. In fact, HTTP/2 will work better if you avoid domain-sharding.
HTTP/2 uses binary-encoding and header compression and when these are combined with the above multiplexing, the typical delays from having many small resources are significantly reduced. The decision to implement image spriting and/or JavaScript and CSS concatenation becomes much more a question of browser cache-invalidation patterns instead of the number of requests required.
While not implemented by Section yet, HTTP/2 also defines a mechanism called Server Push. This will allow, for example, the server to begin sending to the browser, the JavaScript and CSS referenced in a page, before the browser has completed downloading and parsing the HTML to realise it needs to request these resources. When the browser does discover it needs these resources, it will find that the server has already transferred them and the browser will be able to render the page much sooner. We plan to support Server Push with Section in the future.
But my origin server isn’t HTTP/2 enabled
That’s ok.
Many of the features in the HTTP/2 protocol are focussed on improving the browser experience. The connections between the Section platform and your origin server will continue to use HTTP/1.1 regardless of the protocol the browser is using.
Section will maintain a set of open connections to your origin server to reduce handshake costs, and isn’t limited to the same concurrent connection limit or bandwidth as most browsers.
Effective use of a Section Varnish Cache proxy will help greatly as the platform can quickly serve cached responses to the browser over HTTP/2 without incurring a round-trip to the origin server.