1.cookie
cookie存储到浏览器中,每次浏览器向服务器发送请求都需要携带cookie,一般情况下,cookie是产生于服务器端,保存于客户端,但是我们也可以通过js来产生cookie;通常通过js-cookie这个库来操作cookie
通俗来讲:面向服务器,只针对于服务器,同一个服务器可以共享cookie,存储少量数据!!
这里有三种实例方法:
1.创建一个cookie:cookies.set(); -----> 第三个参数设置:7天后过期
Cookies.set('name','terry',{expires:7});
2.获取cookie:cookies.get();
Cookies.get('name');
3.移除cookie:cookies.remove();
Cookies.remove('name');
2.sessionStorage
会话存储,存储在选项卡中,选项卡关闭,会话失效
对应有4中实例方法:
1.设置内容:sessionStorage.setItem();
sessionStorage.setItem('name','terry');
2.获取内容:sessionStorage.getItem();
sessionStorage.getItem('name');
3.清空内容的属性值:sessionStorage.clear();
sessionStorage.clear();
4.清空内容:sessionStorage.removeItem();
sessionStorage.removeItem('name')
3.localStorage
本地存储 存到本地磁盘中,即使浏览器关闭数据依然在,需要手动清除
对应实例方法:
1.设置内容:localStorage.setItem();
localStorage.setItem('name','larry');
2.获取内容:localStorage.getItem();
localStorage.getItem('name');
3.清空内容:
localStorage.clear();
localStorage.removeItem();
三种存储方式区别:
cookie是网站为了标示用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密)。
cookie数据始终在同源的http请求中携带(即使不需要),且会在浏览器和服务器间来回传递。
sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存。
存储大小:
cookie数据大小不能超过4k。
sessionStorage和localStorage 虽然也有存储大小的限制,但比cookie大得多,可以达到5M或更大。
有期时间:
localStorage 存储持久数据,浏览器关闭后数据不丢失除非主动删除数据;
sessionStorage 数据在当前浏览器窗口关闭后自动删除。
cookie 设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭