javascripthtmlcookiesweb-storage

What's the best way use caching data in js on client side?


My application receives data from the another server, using API with limited number of requests. Data changing rarely, but may be necessary even after refresh page.

  1. What's the best solution this problem, using cookie or HTML5 WebStorage?
  2. And may be have other way to solve this task?

Solution

  • As much as cross browser compatibility matters, cookie is the only choice rather than web storage.

    But the question really depends on what kind of data you are caching?

    For what you are trying, cookie and web-storage might not be needed at all.

    I would rather say, it would be stupid to cache the entire page as cookie or web-storage both. For these purposes, server-side caching options might be the better way.

    Update:

    Quoting:

    data about user activity in some social networks (fb, vk, google+)

    Detect the web-storage features, using libraries like mordernizr and if does not exists fall back to cookie method. A simple example

    if (Modernizr.localstorage) {
        // browser supports local storage
        // Use this method
    } else {
        // browser doesn't support local storage
        // Use Cookie Method
    }
    

    [1]: http://en.wikipedia.org/wiki/Web_storage