HTTP/2 Support

The behavior enables HTTP/2, an open networking protocol for transporting web content. It is designed to reduce latency and resource consumption when loading web properties.

HTTP/2 enhances standard HTTP 1.0 and 1.1 by allowing you to request and download multiple objects concurrently over a single TCP connection. HTTP/2 also provides object prioritization, and uses HTTP header compression to conserve bandwidth.

How it works

For your properties on the ‚ÄčAkamai‚Äč Intelligent Platform, you can enable HTTP/2 for TLS connections on the last mile. The last mile has the most performance impact, as it is the final leg of connectivity from an ‚ÄčAkamai‚Äč edge server to a browser.

Your origin doesn't need to support HTTP/2 in order to implement it for your ‚ÄčAkamai‚Äč configuration. When you enable HTTP/2, and a request is received from a browser that supports HTTP/2, the edge server sets up:

  • an HTTP/2 connection, over TLS, between the edge server and the end user‚Äôs browser, and
  • a non-HTTP/2 connection between the edge server and your origin.

You can add HTTP/2 to your secure configuration on supporting products on Property Manager.

HTTP/2 characteristics

  • Multiplexing. HTTP/2 allows for concurrent streams over a single TCP connection, which helps reduce latency. ‚ÄčAkamai‚Äč‚Äôs HTTP/2 implementation will limit the number of concurrent streams.

  • Prioritization and Dependencies. With prioritization, a HTTP/2-enabled browser can download the objects and/or scripts that are most important to load first, followed by those with a lesser priority.
    For ‚ÄčAkamai‚Äč‚Äôs HTTP/2 implementation, edge servers will handle sending objects by priority.

  • HTTP Header Compression. By compressing HTTP request and response headers, HTTP/2 transmits fewer packets and bytes, which helps reduce payload.

  • HTTP/2 Server Push. Supported between the ‚ÄčAkamai‚Äč edge and the client on certain products and configuration options. Contact your ‚ÄčAkamai‚Äč team to learn more.

HTTP/2's advantage over HTTP

HTTP was designed at a time when web pages were substantially smaller, simpler, and with fewer resources. With HTTP, when a browser requests an object, it must receive the entire object before downloading another. At least one round trip from the browser to the origin occurs for each object retrieved.

While HTTP and HTTP/2 both run on the application layer, HTTP/2 natively allows multiple data streams between the browser and origin end points. With HTTP/2 you can request and download many objects concurrently over a single TCP connection.

This is an improvement over HTTP, which requires the browser to establish several TCP connections and use server-side techniques (like domain sharding) to create and manage multiple, concurrent data streams. While these techniques enhance HTTP, they are onerous to maintain and can lead to latency problems stemming from:

  • the need to open a new connection per request (and the associated setup cost), and
  • client-side rationing of connections to avoid opening too many connections to a single server.

As HTTP/2 supports multiplexing, no special techniques are required.

Implementation

Once HTTP/2 or the beta channel has been added to your contract, you can add it to your property configurartion. This behavior doesn't include any options. Specifying the behavior itself enables it.

How to

  1. In the ‚ÄčControl Center‚Äč, select an account and a group/context.
  2. Select the secure (TLS) property to which you want to add HTTP/2.
  3. Under Property Configuration Settings, click Add Rule.
  4. Under Default Templates select Performance.
  5. Select Enable HTTP/2 from the list of templates and click Insert Rule.
  6. In the Criteria section, specify a hostname. The Percentage of Clients using HTTP/2 defaults to 100 percent.
  7. Make sure HTTP/2 Support appears in the Behaviors section.
  8. Click Save to save your changes to the rule, then activate the newly-updated property.

If you want to update the ciphers associated with certificate used for this secure property, you can use Certificate Provisioning System (CPS).

Tips and best practices

To understand HTTP/2‚Äôs performance impact on your site and to begin to optimize for performance, we recommend you enable ‚ÄčAkamai‚Äč‚Äôs Real User Monitoring (RUM) behavior to leverage HTTP/2‚Äôs ‚Äúpercentage of clients‚ÄĚ sliding bar and enable an a/b test with and without HTTP/2.

Related topics

See Secure property requirements.