11.07.2015 Views

Client-Side Storage in Web Applications

Client-Side Storage in Web Applications

Client-Side Storage in Web Applications

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

By us<strong>in</strong>g a client-side storage mechanism, most of the aforementioned disadvantagescan be overcome. Figure 2 illustrates the modern <strong>in</strong>teraction model, which <strong>in</strong>cludesa client-side storage. First, a web page checks whether the client-side storagealready has the requested new data. If yes, then the data is immediately displayed onthe user <strong>in</strong>terface without communicat<strong>in</strong>g with the server. Otherwise, the requestednew data is retrieved from a database resid<strong>in</strong>g on the server, and when retrieved, thedata is stored <strong>in</strong> a client-side storage for future use. This approach not only makeswebsites faster, but it also enables offl<strong>in</strong>e support and reduces server load.Figure 2. Modern <strong>in</strong>teraction model.HTTP cookie [3] was the first mechanism, which enabled web applications to storedata on web clients. However, cookies do not meet the requirements of modern webapplications. Thus, new client-side storage mechanisms were needed. First came(Google) Gears [7], and then <strong>in</strong>fluenced by it, emerged various W3C-specified APIproposals [10, 11, 17]. Other useful and closely related W3C-specifications <strong>in</strong>cludefull Offl<strong>in</strong>e <strong>Web</strong> <strong>Applications</strong> [9], File API [19], and <strong>Web</strong> Workers [12]. However,these specifications are out of the scope of this paper.The rest of the paper is organized as follows. Section 2 exam<strong>in</strong>es very briefly thehistory of client-side storage. In Section 3, recently specified W3C API proposals forstor<strong>in</strong>g and manipulat<strong>in</strong>g persistent data on the client side are presented <strong>in</strong> detail. Nextsection <strong>in</strong>troduces research projects, which utilize these modern client-side storagemechanisms. F<strong>in</strong>ally, conclusions are drawn <strong>in</strong> Section 5.2 EvolutionThis section presents the evolution of legacy client-side storage mechanisms. Thesection starts by giv<strong>in</strong>g a very brief overview of the three popular storage mechanisms:HTTP cookie [3], Flash cookie [2], and (Google) Gears [7]. In the end, thefeatures of these three mechanisms are compared aga<strong>in</strong>st a set of evaluation criteria <strong>in</strong>order to highlight the similarities and differences of each mechanism.2

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!