本文來自有着豐富經驗的大神和一個小白的對話!
為了閱讀方便,小白代號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 這類高速內存數據庫
《個人整理,有什么不合理的地方請在下面留言評論》
