Cookie Session Token的区别

一,Cookie

1.概念

Cookie是由Web服务器保存在用户浏览器上的一段key=value格式的文本。用于保存用户信息。

2.作用

当客户端首次访问服务器时,由服务器生成token信息放在响应头中发送给客户端。

在之后的访问中客户端需要在请求头中附带cookie信息,从而完成鉴权。

3.分类

持久cookie:保存在硬盘中,只有达到失效时间才会自动清除。

会话cookie:保存在内存中,浏览器关闭后会自动清除cookie。

二,Session

1.概念

sesson依赖cookie实现,是服务器分配的一块存储空间,位于服务器中。浏览器在cookie中设置session ID,服务器根据session ID获取会话中存储的信息,进而确定会话身份。

2.作用

客户端访问服务器,服务器将session ID返回给客户端,这样客户端下次访问时携带session ID来得到服务器对应的value。

3.缺点

若服务器A做了负载均衡,那么在A访问激增时会转发到服务器B,但是B中没有A中的session,导致session失效。

三,Token

1.概念

Token是由服务器生成的一串字符串,作为客户端进行请求的一个令牌,token可以存储用户信息,如ID等等,需要经过解析。服务器将token返回给客户端后,客户端之后的请求携带上这个token即可。

2.作用

减轻服务器压力,减少频繁查询数据库。

四:Cookie与Session的区别

存储位置:cookie存储在浏览器或本地。session存储在服务器上。

安全性:cookie可能被篡改或利用,用以攻击网站。session相对较安全。

占用资源:cookie服务器性能消耗小,session会占用服务器性能。

存储空间:单个cookie大小不能超过4k,很多浏览器会限制一个站点的cookie数量。session没有大小限制,与服务器内存大小相关。

存储类型:cookie只能存储string,session可以任意java对象

五:Session与Token的区别

存储位置:token在客户端,session在服务端。

安全性:token作为身份认证,安全性比session好。

跨域:token可以跨域,session不可跨域。

token是时间换空间,session是空间换时间。

token可用于前后端分离项目,session只适用于客户端和服务器代码运行在同一台服务器上。

token是开发定义的,session是http协议规定的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值