session、cookie、token的区别

  1. 存储位置不同
    Session:信息存在服务器上。比如你登录后,服务器会为你创建一个专属 “小本本”,记录你的登录状态和个人信息。
    Cookie:信息存在用户的设备上(如浏览器、手机)。它更像一张服务器发的 “身份证”,每次你访问服务器,都会自动带上这张证。
    Token:信息存在用户的设备上(如手机 APP、浏览器缓存)。它是一串加密字符串,相当于服务器给你的 “一次性通行证”。
  2. 工作原理不同
    Session:你登录时,服务器生成一个唯一的 Session ID,再把这个 ID 通过 Cookie 发给你。之后你每次访问,都会带着这个 ID,服务器通过 ID 找到对应的 “小本本”,确认你的身份。
    Cookie:服务器直接把你的部分信息(如登录状态、偏好设置)加密后,写成 Cookie 发给你。你下次访问时,浏览器会自动带上 Cookie,服务器直接读取里面的信息。
    Token:你登录时,服务器验证账号密码后,生成一串 Token 发给你。你之后访问需要认证的接口时,手动在请求里带上 Token,服务器验证 Token 有效就允许访问。
  3. 适用场景不同
    Session:适合普通网站,比如论坛、博客。它依赖服务器存储,多台服务器之间需要同步数据,不太适合大型分布式系统。
    Cookie:适合存储少量非敏感信息,比如记住登录状态(“7 天内自动登录”)、保存网页主题偏好。
    Token:适合APP、小程序或跨平台系统,比如手机上的购物 APP、前后端分离的网站。它不依赖 Cookie,还能跨不同服务器使用,灵活性更高。
posted @ 2025-10-28 08:21  閺津  阅读(6)  评论(0)    收藏  举报