session和cookie和token的区别?
Session是由服务器端生成的一个唯一标识号,它是服务器端用来跟踪用户身份的一种机制;
Cookie是客户端用来跟踪用户身份的一种机制,它是一小段字符串,会被储存在客户端的浏览器缓存中;Token是一个字符串,它可以储存在客户端或者服务器端,用来验证用户身份。
session和cookie和token都可以用来实现用户验证或者登录会话
(1)Session:Session是在客户端和服务器端中存储用户信息的一种技术,通常使用*** cookie来保存Session的标识符,用于和服务器端的session进行关联,并且保存在服务器端。
(2)Cookie:Cookie是在客户端浏览器中保存某些信息的一种技术,通常用于保存用户或访问者的一些信息,例如登录状态、个性化信息等。
(3)Token:Token是通过在客户端和服务器端之间传递一个令牌的方式来实现用户的验证的一种技术,Token本身是一个字符串,可以用来表示客户端的身份、权限、客户端的设备信息等。
主要区别:
1.比较安全性:Token 比较比较安全,因为它不需要存储在服务器端,而是存储在客户端;Cookie 存储在服务器端,有被窃取的风险;Session 虽然也是存储在服务器端,但是它是根据用户识别码来存取的,所以比较安全性比 Cookie 要高。
2.数据量:Token 内存储的数据量比较小;Cookie 和 Session 都可以存储大量数据。
3.过期时间:Token 的过期时间是可以被控制的;Cookie 和 Session 都可以设置过期时间,但是 Cookie 可以被浏览器自动删除,导致无法使用;Session 可以在服务器端被控制删除。