cookie、session实现登录,及特点 (一)

cookie的特点:

1,存储在浏览器的一段字符串(大概5kb)

2,跨域不共享

3,格式如 k1=v1; k2=v2; 因此可以存储结构化数据

4,每次发送cookie,会将请求域的cookie一起发送给server。

5,server可以修改cookie,并返回给浏览器

6,浏览器也可以通过js来修改cookie (有限制,通过httpOnly。)

 

操作cookie:

客户端js实现cookie:

document.cookie 、document.cookie = 'username=lisi;' 

服务端设置cookie:过期时间expire等。

//设置cookie

const getCookieExpires = () => {
    const d = new Date()
    d.setTime(d.getTime() + (24 * 60 * 60 * 1000))
    return d.toGMTString()
}

res.setHeader('Set-Cookie','username=lisi; path=\; httpOnly; expires=${getCookieExpires()}')

 

实现登录思路:

1,在登录接口,后端设置Set-Cookie ,包含用户名。

2,调用其他接口时,通过客户端存在的cookie,传给服务端验证。

3,缺点:暴露信息。一大堆的用户信息。(session:userId)

 

posted @ 2020-08-06 14:33  毛栗的demo  阅读(203)  评论(0)    收藏  举报