cookie、session、token的使用
(1)cookie由服务器生成,发送给浏览器,浏览器把cookiel以kv形 式保存到某个目录下的文本文件内,下一 -次请求同一网站时会把该cookie发送给服务器。由于cookie是存在客户端 上的,所以浏览器加入了- -些限制确保cookie不会被恶意使用,同时不会占据太多磁盘空间,所以每个域的cookie数量是有限的。
(2)session是为区分用户id,服务器要知道当前发请求给自己的是谁。为了做这种区分,服务器就要给每个客户端分配不同的“身份标识",然后客户端每次向服务器发请求的时候,都带上这个”身份标识”,服务器就知道这个请求来自于谁了。至于客户端怎么保存这个”身份标识”,可以有很多种方式,对于浏览器客户端,大家都默认采用cookie的方式。
服务器使用session把用户的信息临时保存在了服务器上,用户离开网站后session会被销毁。这种用户信息存储方式相对cookie来说更安全,可是session有一 个缺陷: 如果web服务器做了负载均衡,那么下一-个操作请求到了另-台服务器的时候session会丢失。
(3)基于Token的身份验证的过程如下:
1.用户通过用户名和密码发送请求。
2.程序验证。
3.程序返回一个签名的token 给客户端。
4.客户端储存token,并且每次用于每次发送请求。
5.服务端验证token并返回数据。
以下几点特性会让你在程序中使用基于Token的身份验证
1.无状态、可扩展
2.支持移动设备
3.跨程序调用
4.安全