Cookie localStorage sessionStorage
Cookie
Cookie 是一些数据, 存储于你电脑上的文本文件中。当 web 服务器向浏览器发送 web 页面时,在连接关闭后,服务端不会记录用户的信息。Cookie 的作用就是用于解决 “如何记录客户端的用户信息”。Cookie使用是遵循同源策略的
-
创建cookie
document.cookie="username=John Doe";
-
给cookie添加过期时间,默认情况下,cookie 在浏览器关闭时删除。
document.cookie="username=John Doe; expires=Thu, 18 Dec 2043 12:00:00 GMT";
-
告诉浏览器 cookie 的路径。默认情况下,cookie 属于当前页面。
document.cookie="username=John Doe; expires=Thu, 18 Dec 2043 12:00:00 GMT; path=/";
-
删除cookie—-设置 expires 参数为以前的时间即可,如下所示,设置为 Thu, 01 Jan 1970 00:00:00 GMT
document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 GMT";
localStorage
localStorage 属性允许在浏览器中存储 key/value 对的数据。localStorage 用于长久保存整个网站的数据,保存的数据没有过期时间,直到手动去删除。localStorage 的使用也是遵循同源策略的,所以不同的网站直接是不能共用相同的 localStorage。
-
保存数据
localStorage.setItem("key", "value");
-
读取数据
var lastname = localStorage.getItem("key");
-
删除数据
localStorage.removeItem("key");
sessionStorage
sessionStorage 属性允许在浏览器中存储 key/value 对的数据。sessionStorage 用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据。
-
保存数据
sessionStorage.setItem("key", "value");
-
读取数据
var lastname = sessionStorage.getItem("key");
-
删除数据
sessionStorage.removeItem("key");
-
删除所有数据
sessionStorage.clear();
总结
Cookie | localStorage | sessionStorage | |
---|---|---|---|
大小 | 4kb | 10Mb | 5Mb |
兼容 | H4/H5 | H5 | H5 |
访问 | 任何窗口 | 任何窗口 | 同一窗口 |
有效期 | 手动设置 | 无 | 到窗口关闭 |
存储位置 | 浏览器和服务器 | 浏览器 | 浏览器 |
与请求一起发送 | 是 | 否 | 否 |
语法 | 复杂 | 简易 | 简易 |