1.Cookie 在浏览器请求中 每次都会附加请求头发送给服务器;
2.localStorage 保存数据会一直保存,没有过期时间;
3.sessionStorage 仅当前页面有效,一旦关闭就会被释放;
什么是Cookie ?
Cookie 是一些数据, 存储于你电脑上的文本文件中。
当 web 服务器向浏览器发送 web 页面时,在连接关闭后,服务端不会记录用户的信息。
Cookie 的作用就是用于解决 "如何记录客户端的用户信息":
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>cookie</title> </head> <head> <script>
//设置cookie值的函数
function setCookie(cname,cvalue,exdays){ var d = new Date(); d.setTime(d.getTime()+(exdays*24*60*60*1000)); var expires = "expires="+d.toGMTString(); document.cookie = cname+"="+cvalue+"; "+expires; }
// 获取cookie值的函数 function getCookie(cname){ var name = cname + "="; var ca = document.cookie.split(‘;‘); for(var i=0; i<ca.length; i++) { var c = ca[i].trim(); if (c.indexOf(name)==0) { return c.substring(name.length,c.length); } } return ""; }
// 检测cookie值的函数 function checkCookie(){ var user=getCookie("username"); if (user!=""){ alert("欢迎 " + user + " 再次访问"); } else { user = prompt("请输入你的名字:",""); if (user!="" && user!=null){ setCookie("username",user,30); } } } </script> </head> <body onload="checkCookie()"></body> </html>
什么是ocalStorage 和 sessionStorage?
localStorage 和 sessionStorage 属性允许在浏览器中存储 key/value 对的数据。
localStorage 用于长久保存整个网站的数据,保存的数据没有过期时间,直到手动去删除。
localStorage 属性是只读的。
提示: 如果你只想将数据保存在当前会话中,可以使用 sessionStorage 属性, 该数据对象临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据。
保存数据语法:
localStorage.setItem("key", "value");
读取数据语法:
var lastname = localStorage.getItem("key");
删除数据语法:
localStorage.removeItem("key");
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>localStorage</title> <script> function clickCounter() { if(typeof(Storage) !== "undefined") { if (localStorage.clickcount) { localStorage.clickcount = Number(localStorage.clickcount)+1; } else { localStorage.clickcount = 1; } document.getElementById("result").innerHTML = "你在按钮上已经点击了 " + localStorage.clickcount + " 次。"; } else { document.getElementById("result").innerHTML = "Sorry, your browser does not support web storage..."; } } </script> </head> <body> <p><button onclick="clickCounter()" type="button">点我!</button></p> <div id="result"></div> <p>点击按钮查看数字会自动增加。</p> <p>关闭浏览器,重新打开这个页面点击按钮,可以看到之前的数据是有保留的。</p> </body> </html>
localStorage 的优势
localStorage 的局限
localStorage 与 sessionStorage 的唯一一点区别就是 localStorage 属于永久性存储,而 sessionStorage 属于当会话结束的时候,sessionStorage 中的键值对会被清空。
原文:https://www.cnblogs.com/lilistyle/p/13032381.html