会话跟踪技术
1.cookie
优点:HTTP协议中支持的技术
缺点:
移动端App无法使用cookie
安全性不强, 而且用户可以自己禁用cookie
cookie不能跨域
什么是跨域?协议,IP/域名, 端口三者中有一个不一样就是跨域
2.session--基于cookie实现
优点:用户数据存储在服务端, 只给浏览器一个id凭证, 数据最安全
缺点:
1.服务器集群环境下无法直接使用session
2.因为session是基于cookie实现的, 所以cookie的缺点, 它都有
3.因为数据存储在服务端, 会增加服务器的存储压力
3.令牌技术
优点:
1.在pc端, 移动端都可以使用
2.解决了集群环境的认证问题
3.数据没有存储在服务端, 可以减轻服务端存储压力
缺点:
需要自己去实现
三种会话跟踪技术的比较:
1.cookie是将用户信息存储在cookie中, 然后
浏览器在请求响应中带着这些信息去进行服务器验证
2.session是将用户信息存储在服务端,由服务端只给浏览器一个代表身份的id,
浏览器在请求和响应中携带id, 然后服务器对id进行解析, 完成身份验证
3.令牌技术是服务器将用户信息进行编码签名, 生成一个身份令牌,
然后发送令牌给浏览器作为身份凭证, 浏览器在请求和响应中携带令牌进行身份验证
打个比方:
你去微服私访, 去拜访县太爷,
cookie相当于自报家门, 嗯, 老子就是你的老大
session相当于入场券, 鄙人, 是被县太爷邀请来的,这是请柬, 你们可以查备案啊
而令牌相当于,你没说你是皇帝, 但是你穿着龙袍,
其实就是对用户信息进行编码, 加上签名