session/cookie/token的区别

1、Cookie

(1)特点

存储在浏览器上,一个浏览器可以存储的Cookie为200个,一个web的网站能设置的Cookie不能超过20个,Cookie的大小不能超过4K

(2)执行的流程

  1、客户端发送HTTP请求到客户端
  2、服务端收到请求之后,会发送一个响应头到客户端,这个响应头就包含Set-Cookie的头部
  3、客户端发送第三次的请求(如果说服务需要我们发送一个Cookie的话,那么在第二次的过程中时,就会将上一次拿到的Cookie发送个服务端),提供了服务端可以识别客户端的信息。

(3)持久化的Cookie和非持久化的Cookie  

  持久化的Cookie:可以存在于硬盘中,浏览器关闭的话,Cookie也是会存在的。

  非持久化的Cookie:存在与内存中,如果浏览器关闭的话,Cookie也会随之消失。

2、Session

  Session存在于服务端,对于客户端来说是没有Session这个说法的

  当服务端与客户端进行连接的时候,服务端的Session就会转换为一个临时的Cookie发送给客户端

  如果是Session不存在的话,服务端就会创建一个Session

  如果存在的话,就会使用这个Session(当用户从网站的服务器上退出的时候,那么这个Session也会随之消失)。

  如果是服务器做了负载均衡的话,在不同的服务器上Session会失效,就要使用有些技术来实现Session的同步。

3、token(与CAS单点登录联系)

过程

(1)用户第一次登陆的时候,服务端会产生一个token,token会存在于服务器的数据库上,然后将这个token返回给浏览器。

(2)客户端收到token之后会将token存储在本地上

(3)客户端再次发送请求的时候,会将token发送到服务器上

(4)服务端收到这个token的时候会将token与本地的token进行比较,可以来验证身份。


————————————————
版权声明:本文为CSDN博主「sunlichao123」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_40843624/article/details/88406644

posted @ 2020-01-03 20:12  huan_test  阅读(499)  评论(0编辑  收藏  举报