What is the difference between localStorage, sessionStorage, session and cookies?

后端 未结 8 1560
抹茶落季
抹茶落季 2020-11-22 03:07

What are the technical pros and cons of localStorage, sessionStorage, session and cookies, and when would I use one over the other?

8条回答
  •  遇见更好的自我
    2020-11-22 03:33

    1. LocalStorage

      Pros:

      1. Web storage can be viewed simplistically as an improvement on cookies, providing much greater storage capacity. If you look at the Mozilla source code we can see that 5120KB (5MB which equals 2.5 Million chars on Chrome) is the default storage size for an entire domain. This gives you considerably more space to work with than a typical 4KB cookie.
      2. The data is not sent back to the server for every HTTP request (HTML, images, JavaScript, CSS, etc) - reducing the amount of traffic between client and server.
      3. The data stored in localStorage persists until explicitly deleted. Changes made are saved and available for all current and future visits to the site.

      Cons:

      1. It works on same-origin policy. So, data stored will only be available on the same origin.
    2. Cookies

      Pros:

      1. Compared to others, there's nothing AFAIK.

      Cons:

      1. The 4K limit is for the entire cookie, including name, value, expiry date etc. To support most browsers, keep the name under 4000 bytes, and the overall cookie size under 4093 bytes.
      2. The data is sent back to the server for every HTTP request (HTML, images, JavaScript, CSS, etc) - increasing the amount of traffic between client and server.

        Typically, the following are allowed:

        • 300 cookies in total
        • 4096 bytes per cookie
        • 20 cookies per domain
        • 81920 bytes per domain(Given 20 cookies of max size 4096 = 81920 bytes.)
    3. sessionStorage

      Pros:

      1. It is similar to localStorage.
      2. The data is not persistent i.e. data is only available per window (or tab in browsers like Chrome and Firefox). Data is only available during the page session. Changes made are saved and available for the current page, as well as future visits to the site on the same window. Once the window is closed, the storage is deleted.

      Cons:

      1. The data is available only inside the window/tab in which it was set.
      2. Like localStorage, it works on same-origin policy. So, data stored will only be available on the same origin.

    Checkout across-tabs - how to facilitate easy communication between cross-origin browser tabs.

提交回复
热议问题