1、cookie:是用来存储数据的,浏览器会自动把数据保存在客户端,其实就是浏览器实现数据的存储功能。
cookie是由服务器生成发送给浏览器,浏览器把cookie以key-value的形式存储到某个目录下的文件夹,下一次用户请求同一个网站的时候会把cookie发送给服务器。
优点:实现简单方便使用和管理、占用内存少、保存时间长
缺点:不安全,存储的数据是透明的,其他人可以看到数据,还可以篡改cookie、还可以删除、cookie的大小数量有限

2、Session:是会话,数据保存在服务器端;会话就像人与人谈话交流,我怎么知道跟我交流的人是谁?肯定他有某些特征告诉我他是谁。
Session:服务器要知道当前发请求给自己的是谁,为了区分,服务器给每个客户端分配了不同的“身份标识”,客户端发送请求的时候就会带上这个标识,
服务器就知道这是来自谁的请求了。
优点:相对于cookie是比较安全的,数据存在服务器端,客户端是拿不到数据的
缺点:占内存

3、Token:一般是用户通过用户名和密码登录成功之后,服务器将登陆凭证作为数字签名,加密之后得到的字符就是token,简单来说就是对身份进行验证。
token的数据可以存放在:
cookie:每次调用接口会自动发送,不过缺点是不能跨域
localStorage:每次调用接口时放在http请求头里面,长期有效
sessionStorage :每次调用接口时,把它当为一个字段传给后台,浏览器关闭自动清除

优点:token支持跨域访问、而且访问是无状态的、不需要绑定一个特定的身份验证方案、还可以支持移动端的访问
		缺点:流量消耗大(比如你的网站每月有10万次的浏览量,为了确保流畅运行,不影响用户体验,意味着要多开几十兆流量,日积月累就是一笔不小的开销)
		          消耗性能

   原理:1)用户输入账号密码登录验证,校验成功后就会返回Token给用户
		2)用户收到数据后就可以保存在客户端
		3)用户每次访问服务器都会携带Token,避免重复验证
		4)服务器端会用过滤来检测用户输入的账号密码是否正确,正确返回请求数据,错误返回错误码