session、cookie和token的区别

时间:2024-12-13 07:32:42

一、首先介绍一下名词:Session、cookie、token,如下:

会话:客户端A访问服务器,服务器存储A的数据value,把key返回给客户端A,客户端A下次带着key(session ID)来访问服务器,服务器就能给出客户端A的数据。如果负载均衡,客户端A访问了另一个服务器,那个服务器没有客户端A的数据。

:客户端A访问服务器,服务器返回cookie给客户端A,客户端A存储cookie,下次需要带着cookie访问服务器,服务器返回相应的数据。

令牌:客户端A访问服务器,服务器给了客户端token,客户端A拿着token访问服务器,服务器验证token,返回数据。

二、下面详细介绍一下session、cookie、token的区别,详细如下:

和cookie区别:

·      数据存放位置不同:Session数据是存在服务器中的,cookie数据存放在浏览器当中。

·      安全程度不同:cookie放在服务器中不是很安全,session放在服务器中,相对安全。

·      性能使用程度不同:session放在服务器上,访问增多会占用服务器的性能;考虑到减轻服务器性能方面,应使用cookie。

·      数据存储大小不同:单个cookie保存的数据不能超过4K,session存储在服务端,根据服务器大小来定。

和session区别:

·      token是开发定义的,session是http协议规定的;

·      token不一定存储,session存在服务器中;

·      token可以跨域,session不可以跨域,它是与域名绑定的。