What is HTML5 Web Storage? Explain localStorage and sessionStorage.

With local storage, web applications can store data locally within the user’s browser.

Before HTML5, application data had to be stored in cookies, included in every server request.

Drawbacks of cookie 

1)Cookies are included with every http request. So it is slowing the web application by transmitting the same data again and again over the server

2)Cookies are included with every http request. So, we are sending the unencrypted  data again and again to the internet

3)The size limit is 4 kb

Note : Local storage is more secure, and large amounts of data can be stored locally, without affecting website performance.

Unlike cookies, the storage limit is far larger (at least 5MB) and information is never transferred to the server.

Local storage is per origin (per domain and protocol). All pages, from one origin, can store and access the same data.

Data Format :

The data is stored in name/value pairs.The difference between localStorage and sessionStorage involves the lifetime and scope of the storage.

Data stored through localStorage is permanent: it does not expire and remains stored on the user’s computer until a web app deletes it or the user asks the browser to delete it.

SessionStorage has the same lifetime as the top-level window or browser tab in which the script that stored it is running. When the window or tab is permanently closed, any data stored through sessionStorage is deleted.

Both forms of storage are scoped to the document origin so that documents with different origins will never share the stored objects. But sessionStorage is also scoped on a per-window basis. If a user has two browser tabs displaying documents from the same origin, those two tabs have separate sessionStorage data: the scripts running in one tab cannot read or overwrite the data written by scripts in the other tab, even if both tabs are visiting exactly the same page and are running exactly the same scripts.

Program

<!DOCTYPE html>
<html>
<body>

<div id=”result”></div>

<script>
// Check browser support
if (typeof(Storage) !== “undefined”) {
// Store
localStorage.setItem(“lastname”, “Smith”);
// Retrieve
document.getElementById(“result”).innerHTML = localStorage.getItem(“lastname”);
} else {
document.getElementById(“result”).innerHTML = “Sorry, your browser does not support Web Storage…”;
}
</script>

</body>
</html>
Session storage :

<!DOCTYPE html>
<html>
<head>
<script>
function clickCounter() {
if(typeof(Storage) !== “undefined”) {
if (sessionStorage.clickcount) {
sessionStorage.clickcount = Number(sessionStorage.clickcount)+1;
} else {
sessionStorage.clickcount = 1;
}
document.getElementById(“result”).innerHTML = “You have clicked the button ” + sessionStorage.clickcount + ” time(s) in this session.”;
} else {
document.getElementById(“result”).innerHTML = “Sorry, your browser does not support web storage…”;
}
}
</script>
</head>
<body>
<p><button onclick=”clickCounter()” type=”button”>Click me!</button></p>
<div id=”result”></div>
<p>Click the button to see the counter increase.</p>
<p>Close the browser tab (or window), and try again, and the counter is reset.</p>
</body>
</html>

By Pankaj Kumar Agarwal

Leave a reply:

Site Footer