Cookies那些事

145 阅读1分钟

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')