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
。