HTML5 Local storage vs. Session storage
Apart from being non persistent and scoped only to the current window, are there any benefits (performance, data access, etc) to Session Storage over Local Storage?
That is, the data stored in
localStorage persists until explicitly deleted. Changes made are saved and available for all current and future visits to the site.
sessionStorage, changes are only available per tab. Changes made are saved and available for the current page in that tab until it is closed. Once it is closed, the stored data is deleted.
The only difference is that localStorage has a different expiration time,
sessionStorage will only be accessible while and by the window that created it is open.
localStorage lasts until you delete it or the user deletes it.
Lets say that you wanted to save a login username and password you would want to use
localStorage for security reasons (ie. another person accessing their account at a later time).
But if you wanted to save a user’s settings on their machine you would probably want
localStorage. All in all:
localStorage – use for long term use.
sessionStorage – use when you need to store somthing that changes or somthing temporary
Few other points which might be helpful to understand differences between local and session storage
Both local storage and session storage are scoped to document origin, so
All of the above URL’s will not share the same storage. (Notice path of the web page does not affect the web storage)
Session storage is different even for the document with same origin policy open in different tabs, so same web page open in two different tabs cannot share the same session storage.
Both local and session storage are also scoped by browser vendors. So storage data saved by IE cannot be read by Chrome or FF.
Hope this helps.
The main difference between
sessionStorage is that
sessionStorage is unique per tab. If you close the tab the
sessionStorage gets deleted,
localStorage does not. Also you cannot communicate between tabs 🙂
Another subtle difference is that for example on Safari (8.0.3)
localStorage has a limit of 2551 k characters but
sessionStorage has unlimited storage
On Chrome (v43) both
sessionStorage are limited to 5101 k characters (no difference between normal / private mode)
On Firefox both
sessionStorage are limited to 5120 k characters (no difference between normal / incognito mode)
No difference in speed whatsoever 🙂
There’s also a problem with Mobile Safari and Mobile Chrome, Private Mode Safari & Chrome have a maximum space of 0KB
sessionStorage is the same as
localStorage, except that it stores the data for only one session, and it will be removed when the user closes the browser window that created it.
performance wise, my (crude) measurements found no difference on 1000 writes and reads
security wise, intuitively it would seem the localStore might be shut down before the sessionStore, but have no concrete evidence – maybe someone else does?
functional wise, concur with digitalFresh above