session、cookie、token的区别

本文探讨了Cookie在跟踪用户状态中的作用,Server-sideSession在服务器存储用户会话信息的特性,以及Token在API调用和SSO中的身份验证和授权机制。它们各自在Web开发中的角色和安全性不同。
摘要由CSDN通过智能技术生成

Session、Cookie 和 Token 是用于管理用户身份验证和状态的常见机制,它们在 web 开发中扮演着不同的角色。

1. Cookie

  • Cookie 是服务器发送到用户浏览器并保存在本地的小型数据片段。
  • 主要用于跟踪用户的会话状态、记录用户首选项和其他信息。
  • 由服务器设置,可以设置过期时间,过期后会被浏览器删除。
  • 可以被客户端(浏览器)修改,因此不适合存储敏感信息。
  • 通过浏览器每次向服务器发送请求时自动包含在 HTTP 报文中。

 2. Session

  • Session 是服务器端存储的关于用户会话的信息。
  • 通常通过在服务器上创建唯一的 session ID 来跟踪用户的会话。
  • 服务器使用 session ID 来查找相关的用户数据,可以存储敏感信息,因为它存储在服务器端。
  • 可以存储在内存、数据库或者文件系统中。
  • 一般情况下,session ID 是通过 cookie 发送给客户端的,但也可以通过 URL 重写等方式传递。

3. Token

  • Token 是一种用于身份验证和授权的令牌,通常被用于 API 调用和单点登录系统(SSO)。
  • 可以是任意的字符串,通常是加密的,包含了用户的身份信息和权限。
  • 在用户登录后,服务器会生成一个 token 并发送给客户端,客户端之后可以使用这个 token 来访问受保护的资源。
  • 通常存储在客户端的存储介质中,如 localStorage 或 sessionStorage。
  • Token 可以有过期时间,并且可以通过刷新机制来更新。

简而言之,Cookie 是一种存储在客户端的数据,用于跟踪用户和维持状态;Session 是服务器端存储的用户数据;而 Token 则是一种用于身份验证和授权的令牌,通常用于 API 调用和单点登录系统。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值