cookie、session,、token,还在傻傻分不清?

cookie、session,、token,还在傻傻分不清?

💡 原文中文,约6400字,阅读约需16分钟。
📝

内容提要

Cookie、Session和Token都是用来认证用户身份的机制,Cookie和Session需要存储在服务器端,Token可以实现跨域的单点登录,但也有一些缺点,应根据不同的业务场景合理选型,以达到最佳效果。

🎯

关键要点

  • Cookie、Session和Token都是用户身份认证机制,Cookie和Session存储在服务器端,Token支持跨域单点登录。

  • Cookie是小型文本文件,用于辨别用户身份和进行Session跟踪,随着请求增多,Cookie体积也会增大。

  • Session机制通过保存用户身份信息的sessionId,减少了Cookie的体积,减轻了请求负担。

  • Session在多台服务器中存在问题,可能导致无法找到session,解决方案包括session复制、session粘连和session共享。

  • Token是一种不需要服务器存储session的身份校验机制,客户端保存token并在请求中携带。

  • Token的校验机制通过签名验证,包含用户ID信息,避免了服务器存储session的开销。

  • Token支持跨域认证和移动端请求,但存在token过长和安全性不足的问题。

  • CSRF攻击是由于浏览器自动带上cookie导致的,使用token可以避免CSRF,但token存储在local storage也存在安全隐患。

  • Session和Token本质上没有区别,选择使用哪种机制应根据具体业务场景合理选型。

➡️

继续阅读