HTTP-cookie,session,token的区别

本文详细介绍了Cookie、Session和Token三种用户身份验证方式的工作原理、安全性和优缺点。Cookie数据存储在客户端,易受安全威胁;Session在服务器端存储用户信息,但会增加服务器负担;Token作为更安全的身份验证方式,每个请求都有签名,适用于分布式系统。理解这些概念有助于优化Web应用的身份验证策略。

**cookie:**是保存在本地终端的数据,cookie是由服务器生成,发送给浏览器,浏览器把cookie以kv形式保存到某个目录下的文本文件内,下一次请求同一网站时会把该cookie发送给服务器,由于cookie是存在客户端上,所以浏览器加入了一些限制确保cookie不会被恶意使用,同时不会占据太多磁盘空间,所以每个域的cookie数量是有限的。

**session:**当用户打开某个web应用时,便与web服务器产生一次session。服务器使用session把用户的信息临时保存在服务器上,用户离开网站后session会被销毁。这种用户信息存储方式相对cookie更安全,同时这也是session的一个缺陷,如果web服务器做了负载均衡,那么下一个操作请求到了另一台服务器的时候session就会丢失

**token:**访问令牌,是用户身份的验证方式;最简单的token组成:uid(用户唯一的身份标志)+time(当前时间戳)+sign(签名,由token的前几位+盐以哈希算法压缩成一定长度的十六进制字符串,可以防止恶意第三方拼接token请求服务器),还可以把不变的参数也放进token。

cookie和session的区别:

 1. cookie数据存在客户的浏览器上;session数据寸在服务器上
 2. cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗
 3. session会在一定时间内保存在服务器上,访问越来越多的时候,会占用服务器的性能
 4. 单个cookie保存的数据不能超过4k
 5. session就相当于银行账号存储在服务器;cookie就相当于银行卡存储在客户端

cookie和session,客户端访问流程:
1.客户端发送一个http请求到服务器
2.服务器接受客户端发来的请求后,建立一个session,并发送一个http响应到客户端(这个响应头包含set-cookie头部等)
3.客户端发送第二次请求,如果服务器给了set-cookie,浏览器会自动在请求头中添加cookie
4.服务器接收请求,分解cookie,验证信息。验证成功后返回response给客户端

在这里插入图片描述

token和session的区别

 1. token的安全性更好,因为每个请求都有签名防止监听以及攻击
 2. session必须靠链路层保证通讯安全
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

As。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值