session 和 token ,在我看来,没啥不同,都是一种客户端和服务端保持链接得一种解决方案,只不过 session 由服务器帮我解决好了,而 token 则需要自己来处理
当然还是有区别的,比如
session就要解决跨域等问题
session 更多的是,单机时代的一种解决方案,而 token 更适应现在的使用场景
session和cookie
一般来说 浏览器中的 cookie 中会存有 session_id,如果禁止 cookie 使用,可以在 url 链接中带有 session_id
session分布式解决方案
一般来说 session 都是保存在一台服务器的文件目录上,为了达到分布式效果,有几种方案。
session目录共享,oss或者挂载- 现在的大部分php框架,都支持不同的
session驱动,可以把file驱动,替换成redis, 这样子就可以支持分布式了 session保存到mysql中
当然还有其他的方案,其中的效果和优缺点,只有实际使用才能真正知道了。
token的使用
在 restful,前后端分离项目中,token 还是比较好用的,毕竟大部分的 session,还是依赖 cookie,而在app端没有 cookie 这个东西(存疑,毕竟我不了解app), token 可以自定义的 uuid,也可以 jwt。