首先要明白

cookie+session、token。是两套东西,和token这三者是不同维度的东西。

  1. cookie是存储再浏览器端的一小段文本。
  2. seesion是存储在服务器端的一组数据
  3. token通常代表一小段字符串,可以存储到cookie里,随请求一起发过去,也可以存在服务器中。

什么是session+cookie?

seesion+cookie 举例:第一次请求时候,服务器生成一个信物,并要求客户端也定一个信物。每次请求时候你都带上信物,你我信物一比对,欧了。信物有过期时间。服务器会生成一个信物储物柜(占空间),用来存取信物(cookie),本质是空间换时间,时间即没有计算耗时。

什么是token?

token 举例:一开始登录给你一个暗号,定一套密钥,下次你发起请求,服务器拿密钥验证你的暗号,对上了就验证通过,我不需要每次都保存你的东西。多了个计算验证环节,是时间换空间。

区别导致的影响

1.区别通过举例也能看懂,影响点就是时间和空间的区别、和安全问题。

2.先说空间,服务器A爆满的时候要负载均衡,我A这的储物柜,你B没有把?又不可能把全部储物柜复制一套给你,我A都要爆了。就导致身份无法识别要重新登录。

3.再说时间,不过是运算能力够不够,有钱就能处理的事情就不是问题。

杂碎知识点

、Cookie是运行在客户端,Session是运行在服务器端。 cookie只是一个储存在用户本地终端上的数据文件(百度百科)

、 服务器第一次接收到请求时,开辟了一块 Session 空间(创建了Session对象),同时生成一个sessionId ,并在响应头设置 Set-Cookie:JSESSIONID=XXXXXXX 命令,此标头告诉客户端存储 Cookie

、客户端收到响应后,在本机客户端设置了一个 JSESSIONID=XXXXXXX 的 Cookie 信息,该 Cookie 的过期时间为浏览器会话结束。但是浏览器可以对过期时间进行对应 的操作。

、对于cookie操作推荐vue-cookie,csdn搜一下,无非只是npm下载、设置时间、获取、删除

、token无非也是第一次请求时候把token获取下来,放到一个地方,然后设置每次请求带上他,同样csdn搜一下怎么使用就好了。