首页 > 其他分享 >Cookie、Session 和 Token 有什么区别?

Cookie、Session 和 Token 有什么区别?

时间:2024-01-25 20:22:22浏览次数:25  
标签:存储 跨域 Token Session Cookie 客户端

Cookie、Session 和 Token 通常都是用来保存用户登录信息的技术,但三者有很大的区别,简单来说 Cookie 适用于简单的状态管理,Session 适用于需要保护用户敏感信息的场景,而 Token 适用于状态无关的身份验证和授权。

具体来说,Cookie、Session 和 Token 的区别主要有以下几点区别:

存储位置不同:Cookie 存储在客户端,即浏览器中的文本文件,通过在 HTTP 头中传递给服务器来进行通信;Session 是服务器端的存储方式,通常存储在服务器的内存或数据库中;Token 也是存储在客户端,但是通常以加密的方式存储在客户端的 localStorage 或 sessionStorage 中。

数据安全性不同:Cookie 存储在客户端,可能会被窃取或篡改,因此对敏感信息的存储需要进行加密处理;Session 存储在服务器端,通过一个 Session ID 在客户端和服务器之间进行关联,可以避免敏感数据直接暴露;Token 通常使用加密算法生成,有效期较短且单向不可逆,可以提供较高的安全性。跨域支持不同:为了防止安全事故,因此 Cookie 是不支持跨域传输的,也就是不同域名下的 Cookie 是不能相互访问的;而 Session 机制通常是通过 Cookie 来保存 Session ID 的,因此 Session ID 默认情况下也是不支持跨域的;但 Token 可以轻松实现跨域,因为 Token 是存储在客户端的 localStorage 或者作为请求头的一部分发送到服务器的,所以不同的域名 Token 信息传输通常是不受影响的。

状态管理不同:Cookie 是应用程序通过在客户端存储临时数据,用于实现状态管理的一种机制;Session 是服务器端记录用户状态的方式,服务器会为每个会话分配一个唯一的 Session ID,并将其与用户状态相关联;Token 是一种用于认证和授权的一种机制,通常表示用户的身份信息和权限信息。

标签:存储,跨域,Token,Session,Cookie,客户端
From: https://www.cnblogs.com/YanZhaoMa/p/17988091

相关文章

  • 获取AccessToken
    百度AI开放平台通用鉴权认证机制一、获取APIKey/SecretKey关键信息主要为AppID、APIKey、SecretKey注:更新SecretKey后历史生成的Access_token将立即失效二、获取Access_tokenhttps://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=Va5yQR......
  • “哄女友挑战”上线即爆火,两天烧掉 10 亿 token,AI 已通关丨 RTE 开发者日报 Vol.133
       开发者朋友们大家好: 这里是「RTE开发者日报」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享RTE(RealTimeEngagement)领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的会议」,但内容仅代表......
  • a标签下载文件 带token
    constdownloadfile=(url,token)=>{constheaders=newHeaders();headers.append('Authorization',token);//设置token//发起Fetch请求fetch(url,{method:'GET',headers:headers,}).then(res=>res......
  • chrome内核浏览器:测试环境:url(ip+端口)设置cookie、session失败
    chrome内核浏览器:测试环境:url(ip+端口)设置cookie、session失败有个单点登录系统,登录成功,通过:ip+端口/xxx.js方式设置,目标网址的cookie、session.,通过跳转访问目标网站。在测试的时候,发下cookie、session怎么设置都不成功。登录成功:设置cookie、session t跳转过去,发现原来......
  • 258-cookie格式转换(内部)
    原始的cookie格式为:key1=value1;key2=value2;.....通过一下方法:ReturnValue<string>cookiesResult=CookieChangeTools.ConvertToXQYCookieString(cookies,rootUrl);cookies=cookiesResult.Value;转换的cookie格式为:[cookieStart]key1=value1;key2=value2;.....[cookie......
  • Sa-Token组件介绍
    个人博客:无奈何杨(wnhyang)个人语雀:wnhyang共享语雀:在线知识共享Github:wnhyang-Overview前文讲了Sa-Token介绍与SpringBoot环境下使用,但是satoken最重要的登录鉴权直接略过了,那这篇文章就开讲,......
  • Sa-Token组件介绍
    个人博客:无奈何杨(wnhyang)个人语雀:wnhyang共享语雀:在线知识共享Github:wnhyang-Overview前文讲了Sa-Token介绍与SpringBoot环境下使用,但是satoken最重要的登录鉴权直接略过了,那这篇文章就开讲,......
  • 解决vue用axiso两次访问后台api,发现后台的sessionID不一致
    我用的是ASP.NETCore7.0做的后台api,在解决了跨域问题(这个问题在官网上就有答案https://learn.microsoft.com/zh-cn/aspnet/core/security/cors?view=aspnetcore-7.0)为了方便阅读,我再讲一下在里progam里面增加代码(黄色代码),代码格式我就把不变的放到一起了解决完这个之后,因为要......
  • 登录功能-校验token实现
    登录功能-token校验用户是否为登录态1、Redis环境的准备:使用docker拉取Redis镜像·卸载掉已安装的docker,确保yum包更新到最新:[卸载旧版本(如果安装过旧版本的话)]sudoyumremovedockerdocker-commondocker-selinuxdockesr-engine·安装yuminstall-yyum-utilsdevi......
  • Sa-Token介绍与SpringBoot环境下使用
    个人博客:无奈何杨(wnhyang)个人语雀:wnhyang共享语雀:在线知识共享Github:wnhyang-Overview官网:Sa-Token一个轻量级Java权限认证框架,让鉴权变得简单、优雅!介绍Sa-Token是一个轻量级Java权限认证框架,主要解决:登录认证、权限认证、单点登录、OAuth2.0、分布式Session会话......