Web storage, sometimes known as DOM storage, provides web apps with methods and protocols for storing client-side data. Web storage supports persistentdata storage, similar to cookies but with a greatly enhanced capacity and no information stored in the HTTP request header. There are two main web storage types: local storage and session storage, behaving similarly to persistent cookies and session cookies respectively. Web Storage is standardized by the World Wide Web Consortium and WHATWG. All major browsers support it.
Features
Web storage differs from cookies in some key ways. ; Purpose ; Storage size ; Local and session storage ; Interface and data model
Usage
Browsers that support web storage have the global objects sessionStorage and localStorage declared at the window level. The following JavaScript code can be used on these browsers to trigger web storage behavior: // Store value on browser for duration of the session sessionStorage.setItem; // Retrieve value ... alert; // Store value on the browser beyond the duration of the session localStorage.setItem; // Retrieve value alert; Only strings can be stored via the Storage API. Attempting to store a different data type will result in an automatic conversion into a string in most browsers. Conversion into JSON, however, allows for effective storage of JavaScript objects. // Store an object instead of a string localStorage.setItem; alert; // string // Store an integer instead of a string localStorage.setItem; alert; // string // Store an object using JSON localStorage.setItem); alert; // value
Nomenclature
The W3C draft is titled "Web Storage". "DOM storage" has also been a commonly used name, though it is becoming less so; for example the "DOM Storage" web articles of the Mozilla and Microsoft developer sites have been replaced with "Web Storage" articles. The "DOM" in DOM storage does not literally refer to the Document Object Model. According to the W3C, "The term DOM is used to refer to the API set made available to scripts in Web applications, and does not necessarily imply the existence of an actual Document object..."
Storage of web storage objects is enabled by default in current versions of all supporting web browsers, with browser vendors providing ways for users to natively enable or disable web storage, or clear the web storage "cache". Similar controls over web storage are also available through 3rd party browser extensions. Each browser stores Web storage objects differently:
Firefox saves Web storage objects in a SQLite file called webappsstore.sqlite in the user's profile folder.
Google Chrome records Web storage data in a SQLite file in the user's profile. The subfolder containing this file is "\AppData\Local\Google\Chrome\User Data\Default\Local Storage" on Windows, and "~/Library/Application Support/Google/Chrome/Default/Local Storage" on macOS.
Opera's Web storage is located in either "\AppData\Roaming\Opera\Opera\sessions\autosave.win" or "\AppData\Local\Opera\Opera\pstorage\" depending upon Opera's version.
Internet Explorer's Web storage is "\AppData\LocalLow\Microsoft\Internet Explorer\DOMStorage".