cookie
cookie背景
cookie大小
大小根据浏览器的不同而不同,一般情况默认4KB
cookie分类
根据保存周期分类:
cookie查看
窗口的cookie:通过控制台的Application中查看
网页的cookie:document.cookie
session
localStorage&sessionStorage
两者的共同点在于
1、存储大小均为5M左右
2、都有同源策略限制
3、仅在客户端中保存,不参与和服务器的通信
两者的不同点在于:
1、生命周期 —— 数据可以存储多少时间
localStorage: 存储的数据是永久性的,除非用户人为删除否则会一直存在。
sessionStorage: 与存储数据的脚本所在的标签页的有效期是相同的。一旦窗口或者标签页被关闭,那么所有通过 sessionStorage 存储的数据也会被删除。
2、作用域 —— 谁拥有数据的访问权
localStorage: 在同一个浏览器内,同源文档之间共享 localStorage 数据,可以互相读取、覆盖。
sessionStorage: 与 localStorage 一样需要同一浏览器同源文档这一条件。不仅如此,sessionStorage 的作用域还被限定在了窗口中,也就是说,只有同一浏览器、同一窗口的同源文档才能共享数据。
为了更好的理解sessionStorage,我们来看个例子:
例如你在浏览器中打开了两个相同地址的页面A、B,虽然这两个页面的源完全相同,但是他们还是不能共享数据,因为他们是不同窗口中的。但是如果是一个窗口中,有两个同源的iframe元素的话,这两个iframe的 sessionStorage 是可以互通的。
localStorage使用
//sessionStorage用法相同
localStorage.setItem("name",1); // 以"x"为名字存储一个数值
localStorage.getItem("name"); // 获取数值
localStorage.key(i); // 获取第i对的名字
localStorage.removeItem("name"); // 获取该对的值
localStorage.clear(); // 全部删除