THE FUTURE IS HERE: APPLICATION-AWARE CACHING BY ASHOK ANAND
Modern web pages are complex and the number of resources required to download a page continues to increase. To load a web page a browser may need to download HTML, images, stylesheets, scripts, video, fonts and a variety of other resources. As of July 2015 over 30% of web pages request more than 100 resources, and based on cache lifetime statistics 67% of these resources are cached for less than a day.
INTRODUCING INSTANTLOAD InstantLoad is a client-side hierarchical cache system that utilizes different HTML5 storage types, including localStorage, sessionStorage, IndexedDB and FileSystem API, depending on the requirements of the request. The caching system takes into account the browser and the resources being requested, and can adapt and learn over time to become even more valuable when delivering high-performing web applications. The hierarchy is based on the performance of the different layers, with the highest-performing storage at the top. For example, localStorage and sessionStorage both perform significantly better than traditional browser caches. Keys are mapped to arbitrary objects containing metadata related to priority, expiry, validation and eviction. The diagram below provides a high-level diagram of the various layers:
With a few small application changes, resources can be cached using the application-aware InstantLoad cache as opposed to the standard browser cache, providing page load improvements of between 30-60%. Currently, InstantLoad offering is available for loading scripts in the HEAD of the HTML and it leverages localStorage for fast loading. Check out our recently published technical publication from theIEEE International Conference on Multimedia and Expo (ICME 2015): “A Case For Application-Managed Cache For Browser” for a more in-depth discussion. Visit our Blog to learn more