一、首先介绍一下名词: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不可以跨域,它是与域名绑定的。