产品经理学技术:什么是 token、session 和 cookie

cookie(储存在用户本地终端上的数据): 服务器生成,发送给浏览器,浏览器保存,下次请求同一网站再发送给服务器。

session(会话): 代表服务器与浏览器的一次会话过程,这个过程是连续的,也可以时断时续的;cookie中存放着一个sessionID,请求时会发送这个ID;session因为请求(request对象)而产生;session是一个容器,可以存放会话过程中的任何对象;session的创建和使用总在服务端,而浏览器从来都没得到过session对象;session 是一种HTTP存储机制,目的是为无状态的HTTP提供的持久机制。

token(令牌): token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。

cookie与session的区别: cookie数据存放在客户端上,session数据放在服务器上;cookie不是很安全,且保存数据有限。session一定时间内保存在服务器上。当访问增多,占用服务器性能

登录机制中的token

【用设备号/设备mac地址作为token】

客户端:客户端在登录时获取设备的设备号/mac地址,将其作为参数传递到服务端

服务端:服务端接收到该参数后,便用一个变量来接收,同时将其作为token保存在数据库,并将该token设置到session中。客户端每次请求的时候都要统一拦截,将客户端传递的token和服务器端session中的token进行对比,相同则放行,不同则拒绝。

分析:客户端和服务器端统一了唯一的标识,且保证每一个设备拥有唯一的会话。缺点是客户端需要带设备号/mac地址作为参数传递,服务器端还需要保存;优点是客户端无需重新登录,只要登录一次以后一直可以使用,至于超时的问题由服务端来处理。

【用sessionID作为token】

客户端:客户端携带用户名和密码登录即可

服务端:接收到用户名和密码后进行校验,正确就将本地获取的sessionID作为token返回给客户端,客户端以后只需带上请求数据即可。

分析:优点是方便,不用存储数据,缺点就是当session过期,客户端必须重新登录才能请求数据

关键字:产品经理, 技术, token, session


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部