cookie,session,token的定义及区别

cookie,session,token的定义及区别

参考了很多文章总结的。

1、cookie(储存在用户本地终端上的数据)

服务器生成,发送给浏览器,浏览器保存,下次请求同一网站再发送给服务器。

2、session(会话)

a、代表服务器与浏览器的一次会话过程,这个过程是连续的,也可以时断时续的。

b、cookie中存放着一个sessionID。请求时会发送这个ID。

c、session因为请求(request对象)而产生。

d、session是一个容器,可以存放会话过程中的任何对象。

e、session的创建和使用总在服务端,而浏览器从来都没得到过session对象。

f、Session 是一种HTTP存储机制,目的是为无状态的HTTP提供的持久机制。

3、token(“令牌”)

是用户身份的验证方式,最简单的token组成:uid(用户唯一的身份标识)、time(当前时间的时间戳)、sign(签名)。

4、cookie与session

a、cookie数据存放在客户端上,session数据放在服务器上。

b、cookie不是很安全,且保存数据有限。

c、session一定时间内保存在服务器上。当访问增多,占用服务器性能

5、session与token

作为身份认证 token安全性比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.

Session 认证只是简单的把User 信息存储到Session 里,因为SID 的不可预测性,暂且认为是安全的。这是一种认证手段。 而Token ,如果指的是OAuth Token 或类似的机制的话,提供的是 认证 和 授权 ,认证是针对用户,授权是针对App 。其目的是让 某App有权利访问 某用户 的信息。这里的 Token是唯一的。不可以转移到其它 App上,也不可以转到其它 用户 上。 转过来说Session 。Session只提供一种简单的认证,即有此 SID,即认为有此 User的全部权利。是需要严格保密的,这个数据应该只保存在站方,不应该共享给其它网站或者第三方App。 所以简单来说,如果你的用户数据可能需要和第三方共享,或者允许第三方调用 API 接口,用 Token 。如果永远只是自己的网站,自己的 App,用什么就无所谓了。

我的理解:
cookie存在浏览器,不安全;
session存在服务器,可能影响性能;
token身份认证安全性好,是唯一的。
若存在第三方,用token,不用session。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值