都是因为用户身份验证,而产生的。用户登录给服务器发送用户名和密码,服务器接收到之后验证成功后,返回给客户端登录信息和cookie,存储在客户端,客户端再次请求时,在请求头会有cookie 的信息,同时发送给服务器,服务器进行验证接收到的cookie,成功返回数据,失败,则用户信息异常。因为cookie是存储在客户端的,容易获取,不安全。
为了解决不安全的问题,产生了session,session是存储在服务器中的,用户接触不到,所以相对来说安全,会话信息以{key:vlaue}的形式存储,用户登录后,返回给客户端一个session(key),保存在cookie中,再次访问接口时候,请求中会带着session(key)发送给服务器,服务器根据 session(key) 找对应的value值,如果存在则用户信息存在,验证成功,否则异常。因为是存储在服务器当中,用户很多的时候,增加服务器压力。而且如果是多台服务器提供服务,假如第一次请求落到A上并创建了session,如何保证下次落到B的请求能读到session数据,为了解决这些缺陷,产生了token。 token是根据user-hs256(user+key)
加密产生的一串字符串,算法不唯一这只是个示例。用户登录成功后返回token,再次请求时发送token给服务器,服务器取到token后根据‘-’解析到user,用解析到的user重新进行hs256(user+key),如果等于token解析到的后半段,验证成功,否则失败。缺点就是增加服务器运算压力,其他就是真香
2020-10-20 cookie、session、token
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- session 、cookie、token的区别及联系 session session的中文翻译是“会话”,当用户...
- session session的中文翻译是“会话”,当用户打开某个web应用时,便与web服务器产生一次sessi...
- 1. 缓存分类 服务器端缓存(CDN缓存); 客户端缓存(浏览器缓存); 2. 浏览器缓存 2.1. 强缓存 浏览...
- 项目中是使用Koa的搭建服务器。端口配置放在.env文件中,上传时应该忽略该文件,因为每个设备有自己的端口号。这里...
- 前言 在互联网的世界中,传递信息使用的协议是 HTTP,其是一种无状态的协议机制,也即前一次的请求与下一次的请求均...