Optimization Overview

The following is a non-exhaustive summary list of optimizations on the Front End Optimization (FEO) platform.

File versioning

All resources that are optimized are renamed with a unique name. If the object changes, a different uniquely named resource will be created. These files have great cacheability, typically set with 365days for time to live (TTL).

Sharding

Sharding is the practice of serving resources from multiple domains to circumvent browser connection limitations.

  • For example www.example.com’s resources are served from 1.example.com and 2.example.com, increasing from six connections to eighteen connections in some browsers.

Cookieless Shard Domains

Cookieless sharding is a practice of serving resources from a domain where cookies will not be sent from the browser when requesting a resource

  • For example, www.example.com’s resources might be served from www.exampleimages.com
  • The primary benefit of using cookieless domains is to reduce the number of bytes sent and eliminate the time to process the cookies, which are generally not needed for static resources.
  • In practice these are often off-domain to eliminate the risk of a wildcard path on third party cookies.

DNS Prefetch

DNS Prefetch references can be injected at the top of the document allowing the browser to do early lookups. DNS Prefetch content is automatically detected by the FEO analyzer.

JavaScript Optimizations

The Front End Optimization platform contains a wide variety of optimizations that improve JavaScript resources using a variety of techniques, such as

  • Minification - Removing whitespace and comments to reduce file size
  • HTML5 - Improving caching
  • Adaptive Consolidation - Reducing roundtrips to retrieve all the scripts by consolidating scripts.
  • Asynchronously load JavaScripts to speed rendering of a page
  • Pre-Execution - Execute scripts server side to improve client side performance
  • Resource prefetching - Speed up site navigation by preloading JS/CSS resources for other pages.

CSS Optimizations

In addition to the Minification, HTML5 features, Adaptive Consolidation and CSS optimizations, the platform can

  • Asynchronously load the CSS files to improve rendering
  • Small image embedding to reduce requests
  • Defer print style sheets to render display critical resources first

Image Optimizations

Front End Optimization can analyze images and provide a number of improvements

  • Select the optimal image format (webp, JPEG XR, JP 2000)
  • Reduce resolution
  • Responsive images - sizing images for the appropriate screensize
  • Ondemand images - only loading images when they come into view

EdgeStart

The EdgeStart optimization allows Akamai to use a combination of caching the initial static part of a non-cacheable page with streaming the remainder of the response from origin to greatly improve rendering and time to first byte for non-cacheable pages.