Cloudflare released HTTP/2 support in December of 2015 for all customers. HTTP/2 is an update to
the commonly used HTTP/1.1 protocol.
A powerful feature of HTTP/2 is Server Push, a way for web servers to send resources to the client
(often times a browser) without waiting to parse the HTML for references to additional assets
(images, stylesheets, JavaScript, etc.). This avoids the usual HTTP request/response cycle which
happened for every script or stylesheet on a page.
Cloudflare supports HTTP/2 Server Push with the Link header field on all plan levels. Cloudflare will
look for the Link header field, as outlined in RFC 5988, in response headers from the origin server
and extract URI-references with parameters rel=preload. These URI will be pushed to the client.
Here is a sample Link header field to initiate Server Push:
Link: </images/image.png>; rel=preload;
Link: </css/main.css>; rel=preload;
HTTP/2 Server Push is not supported over SPDY connections, and is currently limited to 50 assets
per page, 100 per connection.
Click here to learn more about Cloudflare's HTTP/2 and SPDY.