cookie、session、token区别
前言
首先http是无状态的,每一次的请求之间是没有关联的,如何判定请求是同一个人发送的
1、数据存储
cookie 的数据是服务器自动存在客户端的
session的数据是放在服务端,但是会给客户端种植一个cookie,这个cookie 的key是固定的,value是随机生成的一个session的id,下次访问时拿到自动携带的cookie里面的session id,去取对应的数据
token的数据 是由客户端返回的,前端需要手动存储
2、安全性
cookie 的数据是存放在浏览器中,如果你能够截获某个用户的cookie变量,然后伪造一个数据包发送过去,那么服务器还是 认为你是合法的。所以,使用cookie被攻击的可能性比较大。
session和数据是存放在服务器所以比较安全
token的数据是和时间戳、签名等融合后加密,也是比较安全
3、跨域
session和cookie需要遵循同源策略,token可以跨域
4、存储限制
cookie的限制不能超过4k各个浏览器有区别,session和token的由服务器内存决定