Session与Cookie与token的的区别?

Session与Cookie以及token有什么区别?

1、Cookie的特点

(1)特点

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

(2)执行的流程

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

持久化的Cookie和非持久化的Cookie

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

2、Session的特点

Session存在于服务端,对于客户端来说是没有Session这个说法的,当服务端与客户端进行连接的时候,服务端的Session就会转换为一个临时的Cookie发送给客户端,如果是Session不存在的话,服务端就会创建一个Session,如果存在的话,就会使用这个Session(当用户从网站的服务器上推出的时候,那么这个Session也会随之消失)。
如果是服务器做了负载均衡的话,在不同的服务器上Session会失效,就要使用有些技术来实现Session的同步。

3、token

过程

(1)用户第一次登陆的时候,服务端会产生一个token,token会存在于服务器的数据库上,然后将这个token返回给浏览器。
(2)客户端收到token之后会将token存储在本地上
(3)客户端再次发送请求的时候,会将token发送到服务器上
(4)服务端收到这个token的时候会将token与本地的token进行比较,可以来验证身份。

猜你喜欢

转载自blog.csdn.net/weixin_40843624/article/details/88406644