cookie,session,token之间区别和应用场景
1、cookie
Cookie是一种在Web浏览器中存储数据的小文件。它由服务器发送给客户端,并在客户端的浏览器中进行存储
持久性:设置过期时间,过期时间之前浏览器会一直保留该Cookie
容量有限:一般情况下每个域名只能设置几十个Cookie,总大小通常在几K到几M之间
安全性较低:以明文的形式传输在网络上
遵循同源策略:一个网站的Cookie不会被其他网站访问到
场景:
会话管理、用户登录、购物车、浏览记录等
2、session
Session是一种在服务器端存储数据的机制,在用户通过浏览器访问网站时,服务器会为每个用户创建一个唯一的会话,并为该会话分配一个唯一的标识符(Session ID)
唯一性:每个用户都会被分配一个唯一的Session ID,用于标识该用户的会话。
持久性:Session可以在一定时间内持久保存,可以通过设置Session的过期时间来控制。
可以存储多种类型的数据:Session可以存储用户的会话状态、用户信息等任意数据
场景:
用户登录、记住我、购物车功能、多页面数据共享、防止重复提交等
5、token
token是一种用于身份验证和授权的令牌,服务器生成的一串字符串,用于标识特定的用户或实体,服务器在用户身份验证成功后生成,客户端在后续的请求中携带Token来验证自己的身份。Token可以存储一些加密的用户信息,以及用于授权的权限或角色等。
唯一性:每个实体有唯一的Token,不同实体有不同的Token。
不可伪造性:Token是通过特定的算法生成的,并且很难被篡改或伪造。
时效性:Token有一定的有效时间,在过期之后需要重新获取。
场景:
认证与授权、单点登录等