本文来自有着丰富经验的大神和一个小白的对话!
为了阅读方便,小白代号Q, 大神代号W
Q: 怎么实现session跨域?
W: 别用系统session即可
Q: 那用什么session ?自己存session?
W: 自己有啥不行吗 系统的方案是改配置,允许一些域。 不过没用直接自己处理会话来的干脆实际
会话信息就是你说的session 默认系统是跟域名绑定的。但是跨域的本质是后端多系统共享,所以在后端处理数据存取最为直接
路人甲: 现在不是流行 token吗 ? 这不就是一个另类的session吗
Q: token和session不是一回事 token保存数据库的
Q: token不就标识嘛?怎么存数据?
W: 一般sessionid可以认为是一种token
路人甲:session一般实现也是在cookies中存了个token。
W:就是cookies里那个 所以session怎么可能是t
Q: key是在cookie,value是在服务端吧
W:但是这也说明了为什么我说自己实现就可以回避系统的域限制了
前端token 后端 基于token的分布式缓存系统 用来替代session机制 已经是现实情况了。。。
路人甲:token是保存在数据库,还是另一台服务器,如缓存,nosql
W: token是前后端都有的一串值 用此来维系 一对关系 就等于是session的 key了
每个用户一个session对象 一个会话对象 一个key 一个token
token在分布式里应该保存在redis memcached 这类高速内存数据库
《个人整理,有什么不合理的地方请在下面留言评论》