HTTP/2 by Default

DZone 's Guide to

HTTP/2 by Default

section.io has supported the SPDY protocol since the platform’s inception and we’ve been trialling HTTP/2 in recent months.

· Web Dev Zone ·
Free Resource

section.io has supported the SPDY protocol since the platform’s inception and we’ve been trialling HTTP/2 in recent months. Now, HTTP/2 is enabled for all sites using section.io.

To benefit from HTTP/2 on your section.io-proxied site now, just ensure you have configured a valid certificate for HTTPS in the section.io Aperture portal. After your certificate is saved and deployed, your site will support HTTP/2 for HTTPS connections on section.io.

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.io 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.io 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.io platform and your origin server will continue to use HTTP/1.1 regardless of the protocol the browser is using.

section.io 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.io 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.

cache, connection, https, load, patterns, push, server, server push, varnish

Published at DZone with permission of Jason Stangroome , DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}