网络应用中session和token本质是一样的吗,有什么区别

 我来答
大神不可不戒Ba
2016-12-27 · TA获得超过1541个赞
知道小有建树答主
回答量:211
采纳率:100%
帮助的人:154万
展开全部
  您好,很高兴回答您的问题。
  两者从单词字面上的意思就有很大区别
  session一般指会话,并不单单指session_id,可以是当前访问用户保存在服务器内存中的任何数据。然后,因为http是断开式的连接,即每次访问完成之后,浏览器与服力器断开连接,所以下次访问的时候,需要通过cookie中保存的session_id找到上一次访问产生的session数据。不同的后端实现的方式有所不同。
  而token一般指翻译成令牌,一般是用于验证表明身份的数据或是别的口令数据。可以用url传参,也可以用post提交,也可以夹在http的header中,就是说token从设计上必须通过get参数或者post参数提交,一般是不允许保存在cookies当中的,容易产生CSRF漏洞。这个就不像session_id那样,基本上你自己做的系统,可以自己按自己的需求定义怎么使用。
  如果您还有什么问题,可以继续追问,我会尽快回复您的问题。希望我的回答对您有所帮助,您的采纳是对我最好的鼓励,谢谢!
创作者CMKYXVkpD9
2020-01-08 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.5万
采纳率:27%
帮助的人:808万
展开全部
1.
session的中文翻译是“会话”,当用户打开某个web应用时,便与web服务器产生一次session。服务器使用session把用户的信息临时保存在了服务器上,用户离开网站后session会被销毁。
1.
token的意思是“令牌”,是用户身份的验证方式,最简单的token组成:uid(用户唯一的身份标识)、time(当前时间的时间戳)、sign(签名,由token的前几位+盐以哈希算法压缩成一定长的十六进制字符串,可以防止恶意第三方拼接token请求服务器)。还可以把不变的参数也放进token,避免多次查库
token 和session 的区别
session 和 oauth token并不矛盾,作为身份认证 token安全性比session好,因为每个请求都有签名还能防止监听以及重放攻击,而session就必须靠链路层来保障通讯安全了。如上所说,如果你需要实现有状态的会话,仍然可以增加session来在服务器端保存一些状态
app通常用restful api跟server打交道。rest是stateless的,也就是app不需要像browser那样用cookie来保存session,因此用session token来标示自己就够了,session/state由api server的逻辑处理。 如果你的后端不是stateless的rest api, 那么你可能需要在app里保存session.可以在app里嵌入webkit,用一个隐藏的browser来管理cookie session.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式