当前位置: 首页 > news >正文 潍坊专业网站建设价格织梦手机端网站字体重叠 news 2025/10/27 15:57:48 潍坊专业网站建设价格,织梦手机端网站字体重叠,优化方案,网络服务中心前言 今天就来说说session、cookie、token这三者之间的关系#xff01;最近这仨玩意搞得头有点大#x1f923; 1.为什么会有它们三个#xff1f; 我们都知道 HTTP 协议是无状态的#xff0c;所谓的无状态就是客户端每次想要与服务端通信#xff0c;都必须重新与服务端链接…前言 今天就来说说session、cookie、token这三者之间的关系最近这仨玩意搞得头有点大 1.为什么会有它们三个 我们都知道 HTTP 协议是无状态的所谓的无状态就是客户端每次想要与服务端通信都必须重新与服务端链接意味着请求一次客户端和服务端就连接一次下一次请求与上一次请求是没有关系的。 这种无状态的方式就会存在一个问题如何判断两次请求的是同一个人就好比用户在页面 A 发起请求获取个人信息然后在另一个页面同样发起请求获取个人信息我们如何确定这俩个请求是同一个人发的呢 为了解决这种问题我们就迫切需要一种方式知道发起请求的客户端是谁此时cookie、token、session 就出现了它们就可以解决客户端标识的问题在扩大一点就是解决权限问题。 它们就好比让每个客户端或者说登录用户有了自己的身份证我们可以通过这个身份证确定发请求的是谁从而知道用户登录的信息 2.什么是 cookie cookie 是曲奇饼甜点的意思这里不得不提到一个前雇员故事简略说就是发明这个人的是一个公司的前雇员这个公司待遇比较好每天都会有定时的甜点饮料等吃的可以给每个雇员免费品尝而这个前雇员特别喜欢公司里 的甜点每次都吃的好多好多后来…取名cookie 技术的由来就来啦。 cookie 是保存在客户端或者说浏览器中的一小块数据大小限制大致在 4KB 左右在以前很多开发人员通常用 cookie 来存储各种数据后来随着更多浏览器存储方案的出现cookie 存储数据这种方式逐渐被取代主要原因有如下 cookie 有存储大小限制4KB 左右。浏览器每次请求会携带 cookie 在请求头中。字符编码为 Unicode不支持直接存储中文。数据可以被轻易查看。 cookie 主要有以下属性 属性名称属性含义-name--value--value--cookie 的值-commentcookie 的描述信息domain可以访问该 cookie 的域名expirescookie 的过期时间具体某一时间maxAgecookie 的过期时间比如多少秒后 cookie 过期。pathcookie 的使用路径securecookie 是否使用安全协议传输比如 SSL 等versioncookie 使用的版本号isHttpOnly指定该 Cookie 无法通过 JavaScript 脚本拿到比如 Document.cookie 属性、XMLHttpRequest 对象和 Request API 都拿不到该属性。这样就防止了该 Cookie 被脚本读到只有浏览器发出 HTTP 请求时才会带上该 Cookie。 我们介绍了 cookie那么我们是如何通过 cookie 来实现用户确定或者权限的确定呢 我们就以一个普通网站的用户登录操作以及后续操作为例主要过程可以简单用下图表示 从上图中可以看到使用 cookie 进行用户确认流程是比较简单的大致分为以下几步 1.客户端发送请求到服务端比如登录请求。 2.服务端收到请求后生成一个 session 会话。 3.服务端响应客户端并在响应头中设置 Set-Cookie。Set-Cookie 里面包含了 sessionId它的格式如下Set-Cookie: value[; expiresdate][; domaindomain][; pathpath][; secure]。其中 sessionId 就是用来标识客户端的类似于去饭店里面服务员给你一个号牌后续上菜通过这个号牌来判断上菜到哪里。 4.客户端收到该请求后如果服务器给了 Set-Cookie那么下次浏览器就会在请求头中自动携带 cookie。 5.客户端发送其它请求自动携带了 cookiecookie 中携带有用户信息等。 6.服务端接收到请求验证 cookie 信息比如通过 sessionId 来判断是否存在会话存在则正常响应。 cookie 主要有以下特点 cookie 存储在客户端cookie 不可跨域但是在如果设置了 domain那么它们是可以在一级域名和二级域名之间共享的。 3.什么是 session 在上一节中我们通过 Cookie 来实现了用户权限的确认在其中我们提到了一个词session。顾名思义它就是会话的意思session 主要由服务端创建主要作用就是保存 sessionId用户与服务端之间的权限确认主要就是通过这个 sessionId。 简单描述下 session session 由服务端创建当一个请求发送到服务端时服务器会检索该 请求里面有没有包含 sessionId 标识如果包含了 sessionId则代表服务端已经和客户端创建过 session然后就通过这 个 sessionId 去查找真正的 session如果没找到则为客户端创建一个新的 session并生成一 个新的 sessionId 与 session 对应然后在响应的时候将 sessionId 给客户端通常是存储在 cookie 中。如果在请求中找到了真正的 session验证通过正常处理该请求。 总之每一个客户端与服务端连接服务端都会为该客户端创建一个 session并将 session 的唯一标识 sessionId 通过设置 Set-Cookie 头的方式响应给客户端客户端将 sessionId 存到 cookie 中。 通常情况下我们 cookie 和 session 都是结合着来用当然你也可以单独只使用 cookie 或者单独只使用 session这里我们就将 cookie 和 session 结合着来用。 我们可以在修改一下整个请求过程图如下所示 4.cookie 和 session 的区别 前面两节我们介绍了 cookie 和 session它们两者之间主要是通过 sessionId 关联起来的所以我们总结出sessionId 是 cookie 和 session 之间的桥梁。我们日常的系统中如果在鉴权方面如果使用的是 cookie 方式那么大部分的原理就和我们前面说的一样。 或者我们可以换个说法session 是基于 cookie 实现的它们两个主要有以下特点 session 比 cookie 更加安全因为它是存在服务端的cookie 是存在客户端的。cookie 只支持存储字符串数据session 可以存储任意数据。cookie 的有效期可以设置较长时间session 有效期都比较短。session 存储空间很大cookie 有限制。 系统想要实现鉴权可以单独使用 cookie也可以单独使用 session但是建议结合两者使用。 5.token 是什么 前面我们说的 sessionId 可以叫做令牌令牌顾名思义就是确认身份的意思服务端可以通过令牌来确认身份。 cookiesession 是实现认证的一种非常好的方式但是凡事都有两面 性它们实现的认证主要有以下缺点 增加请求体积浪费性能因为每次请求都会携带 cookie。增加服务端资源消耗因为每个客户端连接进来都需要生成 session* * 会占用服务端资源的。容易遭受 CSRF 攻击即跨站域请求伪造。 那么为了避免这些缺点token 方式的鉴权出现了它可以说是一个民间的认证方式但是不得不说它带来了非常多的好处。 token 的组成 token 其实就是一串字符串而已只不过它是被加密后的字符串它通常使用 uid(用户唯一标识)、时间戳、签名以及一些其它参数加密而成。我们将 token 进行解密就可以拿到诸如 uid 这类的信息然后通过 uid 来进行接下来的鉴权操作。 token 是如何生成的 前面我们说 cookie 是服务端设置了 set-cookie 响应头之后浏览器会 自动保存 cookie然后下一次发送请求的时候会自动把 cookie 携带上。但是我们说 cookie 算是一种民间的实现方式所以说 浏览器自然不会对它进行什么处理。token 主要是由服务器生成然后返回给客户端客户端手动把 token 存下 来比如利用 localstorage 或者直接存到 cookie 当中也行。 token 认证流程 1.客户端发起登录请求比如用户输入用户名和密码后登录。 2.服务端校验用户名和密码后将用户 id 和一些其它信息进行加密生成 token。 3.服务端将 token 响应给客户端。 4.客户端收到响应后将 token 存储下来。 5.下一次发送请求后需要将 token 携带上比如放在请求头中或者其它地方。 6.服务端 token 后校验校验通过则正常返回数据。 用图表示大致如下 总结 虽然前面解释 cookie、session、token 用了不少口舌但是归根结底啊它们的目的都是一样的鉴权和认证。 鉴权认证方式特点优点缺点cookie1.存储在客户端。2.请求自动携带 cookie。3.存储大小 4KB。1.兼容性好因为是比较老的技术。2.很容易实现因为 cookie 会自动携带和存储。1.需要单独解决跨域携带问题比如多台服务器如何共享 cookie。2.会遭受 CSRF 攻击。3.存储在客户端不够安全。session1.存储在服务端。2.存储大小无限制。1.查询速度快因为是个会话相当于是在内存中操作。2.结合 cookie 后很容易实现鉴权。3.安全因为存储在服务端。1.耗费服务器资源因为每个客户端都会创建 session。2.占据存储空间session 相当于存储了一个完整的用户信息。token1.体积很小。2.自由操作存储在哪里。1.安全因为 token 一般只有用户 id就算被截取了也没什么用。2.无需消耗服务器内存资源它相当于只存了用户 idsession 相当于存储了用户的所有信息。3.跨域处理较为方便比如多台服务器之间可以共用一个 token。1.查询速度慢因为 token 只存了用户 id每次需要去查询数据库。 总结下来就是session 是空间换时间token 是时间换空间。 【曾经 我看山是山 看水是水后来啊 我看山不是山 看水不是水…】 文章转载自: http://www.morning.czzpm.cn.gov.cn.czzpm.cn http://www.morning.bpknt.cn.gov.cn.bpknt.cn http://www.morning.lhptg.cn.gov.cn.lhptg.cn http://www.morning.fdwlg.cn.gov.cn.fdwlg.cn http://www.morning.lrflh.cn.gov.cn.lrflh.cn http://www.morning.rtkgc.cn.gov.cn.rtkgc.cn http://www.morning.dfffm.cn.gov.cn.dfffm.cn http://www.morning.zzfqn.cn.gov.cn.zzfqn.cn http://www.morning.ljpqy.cn.gov.cn.ljpqy.cn http://www.morning.ydrn.cn.gov.cn.ydrn.cn http://www.morning.srgnd.cn.gov.cn.srgnd.cn http://www.morning.nyqzz.cn.gov.cn.nyqzz.cn http://www.morning.zfyr.cn.gov.cn.zfyr.cn http://www.morning.sxfnf.cn.gov.cn.sxfnf.cn http://www.morning.wklhn.cn.gov.cn.wklhn.cn http://www.morning.lmdfj.cn.gov.cn.lmdfj.cn http://www.morning.zbnkt.cn.gov.cn.zbnkt.cn http://www.morning.vaqmq.cn.gov.cn.vaqmq.cn http://www.morning.gygfx.cn.gov.cn.gygfx.cn http://www.morning.weiwt.com.gov.cn.weiwt.com http://www.morning.rshkh.cn.gov.cn.rshkh.cn http://www.morning.gjfym.cn.gov.cn.gjfym.cn http://www.morning.xsfny.cn.gov.cn.xsfny.cn http://www.morning.lqpzb.cn.gov.cn.lqpzb.cn http://www.morning.bpmfz.cn.gov.cn.bpmfz.cn http://www.morning.rzczl.cn.gov.cn.rzczl.cn http://www.morning.rlhgx.cn.gov.cn.rlhgx.cn http://www.morning.rcjyc.cn.gov.cn.rcjyc.cn http://www.morning.swimstaracademy.cn.gov.cn.swimstaracademy.cn http://www.morning.ypfw.cn.gov.cn.ypfw.cn http://www.morning.czgtt.cn.gov.cn.czgtt.cn http://www.morning.btcgq.cn.gov.cn.btcgq.cn http://www.morning.hqbk.cn.gov.cn.hqbk.cn http://www.morning.kzdwt.cn.gov.cn.kzdwt.cn http://www.morning.mzwqt.cn.gov.cn.mzwqt.cn http://www.morning.xhpnp.cn.gov.cn.xhpnp.cn http://www.morning.bqpg.cn.gov.cn.bqpg.cn http://www.morning.ychrn.cn.gov.cn.ychrn.cn http://www.morning.rnds.cn.gov.cn.rnds.cn http://www.morning.ptmch.com.gov.cn.ptmch.com http://www.morning.hnkkf.cn.gov.cn.hnkkf.cn http://www.morning.jmmzt.cn.gov.cn.jmmzt.cn http://www.morning.tjwfk.cn.gov.cn.tjwfk.cn http://www.morning.clxpp.cn.gov.cn.clxpp.cn http://www.morning.wnnfh.cn.gov.cn.wnnfh.cn http://www.morning.qggcc.cn.gov.cn.qggcc.cn http://www.morning.brfxt.cn.gov.cn.brfxt.cn http://www.morning.fnssm.cn.gov.cn.fnssm.cn http://www.morning.stlgg.cn.gov.cn.stlgg.cn http://www.morning.yhwmg.cn.gov.cn.yhwmg.cn http://www.morning.psgbk.cn.gov.cn.psgbk.cn http://www.morning.yqwsd.cn.gov.cn.yqwsd.cn http://www.morning.fwqgy.cn.gov.cn.fwqgy.cn http://www.morning.lddpj.cn.gov.cn.lddpj.cn http://www.morning.ymqrc.cn.gov.cn.ymqrc.cn http://www.morning.lfsmf.cn.gov.cn.lfsmf.cn http://www.morning.grxsc.cn.gov.cn.grxsc.cn http://www.morning.crfjj.cn.gov.cn.crfjj.cn http://www.morning.sgjw.cn.gov.cn.sgjw.cn http://www.morning.qmbgb.cn.gov.cn.qmbgb.cn http://www.morning.elbae.cn.gov.cn.elbae.cn http://www.morning.qttg.cn.gov.cn.qttg.cn http://www.morning.mrlls.cn.gov.cn.mrlls.cn http://www.morning.qcnk.cn.gov.cn.qcnk.cn http://www.morning.nhzzn.cn.gov.cn.nhzzn.cn http://www.morning.bpncd.cn.gov.cn.bpncd.cn http://www.morning.nydgg.cn.gov.cn.nydgg.cn http://www.morning.dlmqn.cn.gov.cn.dlmqn.cn http://www.morning.zdwjg.cn.gov.cn.zdwjg.cn http://www.morning.tslfz.cn.gov.cn.tslfz.cn http://www.morning.jhxtm.cn.gov.cn.jhxtm.cn http://www.morning.krqhw.cn.gov.cn.krqhw.cn http://www.morning.lqws.cn.gov.cn.lqws.cn http://www.morning.kxmyj.cn.gov.cn.kxmyj.cn http://www.morning.xpqyf.cn.gov.cn.xpqyf.cn http://www.morning.xhxsr.cn.gov.cn.xhxsr.cn http://www.morning.qxlgt.cn.gov.cn.qxlgt.cn http://www.morning.qlxgc.cn.gov.cn.qlxgc.cn http://www.morning.ggrzk.cn.gov.cn.ggrzk.cn http://www.morning.ailvturv.com.gov.cn.ailvturv.com 查看全文 http://www.tj-hxxt.cn/news/254235.html 相关文章: 废橡胶网站建设运维是做什么的 专业做网站 台州玉环免费云服务器主机 火狐网站开发好的插件企业如何制定网络营销策略 深圳网站设计网站建设哪个好男女做羞羞视频网站 wordpress主页如何加东西seo网络推广机构 sns社交网站建设淘宝刷单网站制作 怎样看一个网站是不是织梦做的scratch在线编程网站 代做效果图的网站好建设银行如何招聘网站 做汽配外贸哪个网站wordpress中接入支付宝 织梦响应式网站怎么做wordpress 摘要 格式 邯郸网站建设做外贸的 需要什么样的网站 网站建设 上海土特产直营建设网站的调研 做国际网站一般做什么风格网站权重分析 广州第一网站网站建设主要推广方式 网站建设优化价格赤峰建设厅官方网站 网站建设的基本需求有哪些方面数据推广平台有哪些 邢台做wap网站费用医院网络系统 自己搭建服务器 发布网站 域名如何申请昆明专业网站营销 做微商如何网站推广wordpress 修改菜单 网站后期的维护建筑设计网站大全网站 做电子书屋的网站深圳龙华是低风险区吗 哔哩哔哩推广网站哈尔滨网站优化对策 北京手机网站设计费用.net 响应式网站 建设电子票务系统的网站需要多少钱做一个网站的计划书 怎样做网站卖东西安阳网站建设哪里最好 网站准备建设的内容网站后天添加文章不显示 攀枝花建设银行网站seo推广视频隐迅推专业 免费的课程设计哪个网站有python做网站 jsp 龙华企业网站建设苏州营销策划公司有哪些 设计素材网站图案免费创建简易个人网站