请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

token 通过 cookie 传递还是 header 传递

我听说有的网站 token 是放在 header 中传给服务器的,跟用 cookie 传递有什么不一样吗,如果通过 header 传递的话,客户端应该存在哪个地方呢

正在回答 回答被采纳积分+3

2回答

聪聪不匆匆 2018-02-26 10:16:10

你好,同学,关于你这个问题,我来说说我的一些认识,希望对你有帮助喲。

1、客户端将接受到的token保存起来,可以放入cookie或者local storage当中,提交给后台时,浏览器会自动将cookie里面的token带入后台,或者将head里面的authorization字段当中的token带入后台。(具体看你放在哪里)

2、后台可以从当前请求的cookie上获取token令牌,没有则从header当中获取。

3、token机制相对于cookie机制,支持跨域访问,cookie不允许跨域访问。

然后这里有一篇关于token的文章,希望对你有帮助http://blog.csdn.net/wabiaozia/article/details/75196939


3 回复 有任何疑惑可以回复我~
  • Geely #1
    聪聪同学整理的非常非常棒!赞一个!!条理清晰!
    回复 有任何疑惑可以回复我~ 2018-02-28 21:45:34
  • 谢谢老师 看到群里面大家都很棒 我也要加油
    回复 有任何疑惑可以回复我~ 2018-03-01 13:20:37
  • 提问者 pain7 回复 聪聪不匆匆 #3
    thanks
    回复 有任何疑惑可以回复我~ 2018-03-01 23:36:29
Geely 2018-02-28 21:45:30

你好,同学,如果通过header传的话,客户端可以存在浏览器的缓存里。这是一个方式。

聪聪同学说的跨域方面是一个区别,另外通过cookie的domain的一个区别也能控制域访问的读取。

聪聪同学整理的非常非常棒!赞一个!!条理清晰!

0 回复 有任何疑惑可以回复我~
  • 提问者 pain7 #1
    那我可以这么理解吗,如果应用场景不允许跨域的访问,就使用 cookie,如果允许跨域就用 header 的方式传递
    回复 有任何疑惑可以回复我~ 2018-03-01 23:37:40
  • Geely 回复 提问者 pain7 #2
    其实使用cookie,只要domain设置得当,也是可以跨域,至少一级,二级,三级域名等。如果跨整个domain都不同,可以用header。
    回复 有任何疑惑可以回复我~ 2018-03-04 14:10:52
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信