cookies,session,token的简单理解

HTTP协议是无状态协议.无状态是指协议对于事务处理没有记忆能力。这就意味着,如果后续的处理需要用到之前的信息,则必须要重传,这样就导致了每次连接传输的数据量增大。而为了解决HTTP的无状态特性,出现了Cookie和Session技术。

Cookiessession
在这里插入图片描述

1.用户通过客户端发送一个登录请求,服务器校验账号和密码,然后登录成功;这一过程代表的是客户端与浏览器的一次会话过程。而session是一个容器,可以存放会话过程中的任何对象,此时就会把用户名密码存到服务器缓存,代表用户登录过了。
2.而服务器返回信息时会返回一个sessionid,通过响应头set-cookie字段存储到浏览器,这时候cookie数据就产生了,用于存放sessionid。
3.这时如果访问登录后的页面,客户端就会自动带上cookie去请求,而服务器会校验cookie中的sessionid与缓存中的sessionid是否一致,校验通过后就会返回用户请求的页面信息。
4.cookie是与域名绑定的,所以不能跨域访问
4.如果cookie中没有sessionid 或服务器端缓存的sessionid过期了,那么就代表此用户无权访问,则需要登录。

Token:
在这里插入图片描述
token是服务端生成的一串字符串,做为客户端发起请求时的一个令牌;
1.用户第一次登录成功后,服务端将登录凭证加密后生成token,返回给客户端
2.客户端保存token,发起登录后的其他请求时,携带token
3.服务端接收到请求,会验证token的有效性。

总结

cookie
1.cookie是在HTTP协议下,服务器或脚本可以维护用户信息的一种方式,由服务器保存到在客户端的小文本文件,它可以包含有关用户的信息,无论何时用户访问到服务器,都会带上该服务器的cookie信息。
2.一般cookie是有有效期的,只在浏览器上保存规定的一段时间,超时后会被系统清除。
3.cookie不允许垮域访问的

sessoin
1.session将数据存储在服务器中,服务器会为每一个用户创建一个seeeion会话,用户访问服务器的时候需要拿着sessionid去表名自己的身份
2.session的实现是基于cookie,session需要借助cookie来储存sessionid
3.session会有有效期,过期后需要用户重新访问。

token
1.token不需要存储到服务器,服务器会解密但会消耗cpu,不会占用服务器存储与查询资源。
2.token是需要手动传到参数中。
3.token 可以跨平台,跨域。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

久醉绕心弦,

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

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

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

打赏作者

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

抵扣说明:

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

余额充值