Cookie,Session和Token详解

1.Cookie

Cookie由Server生成,返回给浏览器,浏览器以key-value的格式保存的自己的目录下,下一次再请求Server时,把Cookie发送给Server。

Cookie主要缺点:
1.用户使用浏览器时,可以禁用Cookie,影响性能;
2.Cookie数据是暴露的,需要加密避免暴露;
3.浏览器端保存的数据量有限制,每个Cookie限制的大小是4KB,浏览器一般保存300多个Cookie,每个网站保存20个Cookie。

2.Session

Session的主要原理是给客户端一个唯一身份标识(即session_id),并将这个session_id和客户端信息保存在Server端,当客户端再次访问Server时,请求中带上这个唯一标示(客户端可以使用多种方式保存session_id,一般使用Cookie),这样Server就知道是哪个客户端的请求了。

Session主要缺点:
1.如果Server端是多机服务,要考虑Session信息可以服用,一般采用缓存服务器保存session或者客户端的session有效期内的请求都绑定到同一台机器上。

3.Token

Token主要解决Client连接Server时,每次都要进行用户和密码的验证的问题,其主要过程如下:
1.Client使用用户名和密码登陆Server;
2.Server收到Client的请求,Server验证用户名和密码;
3.Server验证成功后,Server签发一个token,然后将token返回给Client;
4.Client收到token后保存到本地(Client可以使用多种方式保存token,一般使用Cookie);
5.Client再次向Server发送请求时,带上Server签发的token;
6.Server收到Client的请求和token后,验证用户和token,如果成功就返回响应结果,否则拒绝访问。



作者:zhglance
链接:https://www.jianshu.com/p/10332c8ebd92
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

猜你喜欢

转载自blog.csdn.net/wangyunfei_redis/article/details/94729872