接口鉴权之cookie、session和token

一、鉴权

含义:鉴权就是指验证用户是否拥有访问系统的权利,即鉴定权限

二、引入cookie、session和token的原因

目前,大部分接口使用的都是HTTP协议,而HTTP协议是无状态的,即本次请求和上一次请求是没有任何关系的,无法共享信息。

比如,像我们现在淘宝下单需要先登录,你登录成功了之后再去下单,服务器怎么知道你是已登录状态呢?

三、cookie和session

1、cookie产生原因:由于HTTP是一种无状态协议,服务器没有办法单从网络连接上面知道访问者的身份,为了解决这个问题,就诞生了Cookie(Cookie实际上是一小段的文本信息)

2、cookie工作原理:客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie;客户端浏览器会把Cookie保存起来。当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器检查该Cookie,以此来辨认用户状态。

3、session工作原理:客户端发送登录信息给服务器,服务器拿到登录信息后生成sessionID,然后服务器将sessionID发送给客户端,客户端再次访问时携带sessionID给服务器,服务器通过sessionID判断对方是否是真实用户。

4、cookie 和session的区别

1)存放位置:cookie数据存放客户端(浏览器),session存放在服务器

2)安全性:cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,如果主要考虑到安全应当使用session 

3)内存上:session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,如果主要考虑到减轻服务器性能方面,应当使用COOKIE 

4)大小限制:单个cookie在客户端的限制是3K,所以将登陆信息等重要信息存放为SESSION; 其他信息如果需要保留,可以放在COOKIE中

5)共同点:cookie和session都是用来跟踪浏览器用户身份的会话方式

四、session和token(Json web token (JWT))

简单来说:使用token的原因是session ID占服务器内存

解决方法:引入token,token可以直接把锁和钥匙都返回给浏览器,服务器通过算法去验证锁和钥匙是不是同时有效的(防止有人恶意篡改)

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值