Matthew Prince thinks his startup, Cloudflare, has a way to fix that. Cloudflare offers a service designed to improve both the speed and security of websites by caching pages on its own servers, which protects the original sites from attackers while delivering pages to legit users more quickly. Now, to make sites even faster, Cloudflare is rolling out support for server push—part of the new HTTP 2.0 web standard—that Prince says could shave an entire second of page load times.
That might not sound like much. But according to Google’s research, even a delay of a fifth-of-a-second can reduce the amount of time someone is willing to spend on your site. A few hundred milliseconds is also the difference between a web app that feels like a native app and one that feels too laggy to use. That’s where Prince sees server push really making a difference. Just as earlier web technologies made things like Google Maps and Google Docs possible, Prince thinks HTTP 2.0 could enable developers to do things on the web that weren’t possible before.
“Server push could unlock a whole new class of applications,” he says. “We want to put this in hands of developers and see what they create.”
A Little Push
One reason that pages are still slow despite massive increases in bandwidth since the dial-up days is that pages have gotten much bigger. High-resolution images, animations, videos, ads, and analytics scripts are all to blame. The web has gotten so bloated that today’s average page is is about the same size as the original Doomcomputer game.
But it’s not just the heft that makes sites slow. It’s also the fact that downloading each of these individual elements require your browser to make separate requests to the web servers that power the site. If any one of those requests gets stalled, it can slow down the entire page, or cause the page to be displayed incorrectly.
Cutting down on the cruft will help, but sites that are heavy on images or interactive features will always need to make a lot of server calls. That means web browsers need better ways to actually request all these elements without getting tripped up.
That’s where HTTP 2.0, a successor to the original HTTP standard, comes in. HTTP 2.0 adds several features that make downloading and displaying webpages faster and more efficient, such as the ability to download multiple elements using a single connection to a webserver.
Server push, the standard that Cloudflare will now support, is one of those features. It enables a web server to tell a web browser about all the different elements that need to be included with a page upfront, without the need to load part of the page first.
Making the Web Multitask
Prince gives the example of your local bank’s website. When you log in, the site has to pull up a list of your recent transactions and calculate your bank balance before it creates a page and sends it to your browser. Only once your browser has the page can it request all the other page elements, such as the bank’s logo and the style sheet that tells the browser how to format the page. With server push, the bank website could send the logo and stylesheet over first while it calculates the balance.
Some browsers, including Google Chrome and Firefox, already support HTTP 2.0. Many others support its predecessor, Google’s SPDY (pronounced “speedy”) protocol. The problem is that few websites actually support every feature of HTTP 2.0 yet. Sites have been particularly slow to adopt server push, Prince says.
Starting today, Cloudflare customers will now be able to use server push on their websites, even if their own servers or web hosts don’t yet support it. In the process, the web may get just a little bit faster. Two million websites use Cloudflare, Prince says, including seven percent of the top 1 million websites in the world. Cloudflare should, in theory, make it much easier for its customers to take advantage of server push, but it will still take some work on customers’ part to get working. WordPress users, for example, will need to install a server push plugin to take advantage of the feature.
The real point, Prince says, is to get the technology into the hands of early adopters—the people who will create that new class of applications. Especially on phones, the more the web can work like an app, the brighter the hope for the web’s future.