cookies,作为本身存储的一种方式。默认情况下,cookie 在浏览器关闭时失效 ,cookie通过expires设置过去的时间。
对比:
sessionStorage
localStorage
cookie
生命周期
浏览器关闭
永久存在,除非自己删除或清除缓存
可以自己设置,默认到浏览器关闭
大小限制
5MB
5MB
4k
与服务器通信
仅在客户端
仅在客户端
每次请求都会携带
安全性
相对于cookie来说高一些,不用担心截获,但是仍然存在伪造问题
相对于cookie来说高一些,不用担心截获,但是仍然存在伪造问题
安全性较低(Cookie欺骗,Cookie截获)
应用场景
敏感账号一次性登录
常用于长期登录(+判断用户是否已登录
判断用户是否登陆过网站
使用:
设置document.cookie="名称=值;expires=''" 为了方便我们给他封装成函数,
-
设置
setCookies(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; }, setCookies("aname", "王金玉", 1); -
获取
function getCookie(cname) { var name = cname + "="; var ca = document.cookie.split(';'); for(var i =0; i<ca.length;i++){ var c=ca[i] if(c.indexOf(name)!==-1) return c.substring(name.length,c.length) } return "" }
依赖
-
安装
cnpm install js-cookie --save npm install js-cookie --save 看你用什么安装,选择其一即可
-
引入
import Cookies from "js-cookie" //在需要使用的地方引入
-
使用
-
获取
Cookies.get("name") //获取某一项 Cookies.get() //获取每一项
-
设置
Cookies.set("name",'value')//设置某一项 Cookies.set('name', 'value', { expires: 7 }); //设置有效期
-
删除
Cookies.remove('name')