美文网首页
session/cookie/token区别

session/cookie/token区别

作者: lmmy123 | 来源:发表于2018-10-23 19:13 被阅读0次

    session

    "会话",当用户打开页面,服务器会生成session,使用session将用户的信息缓存在服务器或数据库中,里面有唯一的sessionID,将sessionID返回给客户端,客户端每次发送请求时,cookie中携带session,服务器通过对比验证用户身份信息
    用户离开网站后,session 会被销毁
    缺陷: 如果服务器做了负载均衡,那么下一个操作请求到了另一台服务器的时候 session会丢失

    cookie

    cookie 是保存在本地浏览器上的数据,由服务器生成,发送给浏览器,浏览器以键值对的形式保存,每一次发送请求时,会把cookie发送给服务器

    token

    "令牌",用户身份验证的方式,最简单的token组成: uid(用户唯一的身份标识),time(当前时间的时间戳),sign(签名),还可以把不变的参数也放进token,避免多次查库

    cookie 和 session的区别

    • cookie数据存放在浏览器上,session数据是存放在服务器上
    • cookie 不是很安全,session安全性更高点
    • session 会在一定时间内保存在服务器上,当访问增多,会比较占用服务器性能,适当使用cookie
    • cookie 保存数据有限, 不能超过4K
    • 个人建议:将登陆信息等重要信息存放在session,其他信息放在cookie中

    基于token的身份验证

    使用token的身份验证,在服务端不需要存储用户的登陆信息,大致流程:

    • 客户端使用账号密码请求登陆
    • 服务端收到请求,验证账号密码
    • 验证成功后,服务端会签发一个token,然后返回给客户端
    • 客户端收到token后,保存在cookie中
    • 客户端每次向服务器请求资源时,携带token
    • 服务端收到请求,去验证token,验证成功,返回数据

    汇总

    token就是令牌,比如你授权登陆一个程序时,他就是个依据,判读你是否已授权该程序
    cookie时写在客户端的一个TXT文件,里面包括你的登陆信息之类的,这样当你下次登陆某个网站时,就会自动调用从cookie中的信息登陆

    相关文章

      网友评论

          本文标题:session/cookie/token区别

          本文链接:https://www.haomeiwen.com/subject/erqgzftx.html