Client-Side Storage in Web Applications
Client-Side Storage in Web Applications
Client-Side Storage in Web Applications
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
dardiz<strong>in</strong>g Gears features and APIs <strong>in</strong> HTML5 and associated APIs. The Gears projectstill rema<strong>in</strong>s as open source and is available athttp://code.google.com/p/gears/. In order to use Gears, Gears plug-<strong>in</strong>needs to be <strong>in</strong>stalled to a web browser. However, the plug-<strong>in</strong> works only with old andodd browser/operat<strong>in</strong>g system comb<strong>in</strong>ations, and therefore its use cannot be recommended.Several high-level companies have used Gears as part of their products at somepo<strong>in</strong>t, <strong>in</strong>clud<strong>in</strong>g Google’s GMail and Docs as well as MySpace.2.4 SummaryThis section gave an overview of the three legacy client-side storage mechanisms:HTTP cookie, Flash cookie, and (Google) Gears. In Table 1, the mechanisms arecompared aga<strong>in</strong>st a set evaluation criteria to give a quick understand<strong>in</strong>g and an overviewof their differences.Table 1. Comparison of legacy client-side storage mechanisms.<strong>Client</strong>-sidestorageStandardizationMa<strong>in</strong>featuresSupporteddata types<strong>Storage</strong>spaceBrowsersupportHTTP cookie IETF RFC 6265,StandardsTrack, April2011simple keyvaluepair datastr<strong>in</strong>g(<strong>in</strong>clud<strong>in</strong>g str<strong>in</strong>gserializedJSON)4 kB per cookie,50 cookies perorig<strong>in</strong> (recommendation)all major browsersFlash cookie(Local SharedObject)proprietarybrowser plug-<strong>in</strong>(Adobe)alternative toHTTP cookies,accessible viaJavaScriptmany(Flash datatypes)100 kB perorig<strong>in</strong>(can be <strong>in</strong>creased)all major browsersvia AdobeFlash Player 6+plug-<strong>in</strong>, exclud<strong>in</strong>gmobilebrowsers (Androidand iOSSafari)(Google) Gearsopen-sourcebrowser plug-<strong>in</strong>(BSD License)relational database(SQLite),uses a variant ofSQLmanyunlimited(SQLite limitations)deprecated (oldbrowser versionsvia Gearsplug-<strong>in</strong>)3 Revolution: The HTML5 ApproachThe W3C has specified three different API proposals for stor<strong>in</strong>g and manipulat<strong>in</strong>gpersistent data on the client side: <strong>Web</strong> <strong>Storage</strong> [11], <strong>Web</strong> SQL Database [10], andIndexed Database API [17]. The motivation for creat<strong>in</strong>g the APIs was ma<strong>in</strong>ly fourfold:(1) standardize client-side storage access, (2) promote native browser support,(3) <strong>in</strong>crease storage space, and (4) offer persistent data storage. Each API serves aspecific purpose, and therefore has a different approach and advantages. However, the4