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)
浙公网安备 33010602011771号