IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> token+session+cookie -> 正文阅读

[系统运维]token+session+cookie

学习这三样的只需要知道一个前提,http协议是无状态的,他不会保存服务器和浏览器之间通信

其次我们还要知道前端存储问题,前端拿到信息存在哪里?
1.html定义的一个storage
2.存在cookie中
3.定义一个变量保存(刷新之后可能就没了)

cookie

从一个情景来看cookie,假设一个用户访问了网站a,服务器收到了请求,首先对用户进行了验证。

验证成功了就返回以kv形式的数据(可以有多个,也可以只有一个),数据被保存在set-cookie这个响应头中,

然后浏览器收到之后,将这些内容保存某个位置,下次再对这个网址发请求的时候使用浏览器会为我们自动带上cookie(同时这样会造成csrf攻击)

服务器在又一次接到用户请求后,通过查看cookie对不同的客户做了简单区分

整个过程就像我们在学校,老师让我们填表,老师给每一张表上填上了你的个人信息,然后发到你手上让你看看有没有错误然后保存好。

这样每个人都一张表,这张表的大小是有限制不能无限大的,假设老师都不认识我们,但是只要让他们拿到这张表之后就知道我们是谁了

session

上面的情况是让用户各自保存手上的这张表,对于老师来说她们没有这份信息,老师担心这张表在你们手上的安全性(比如说冒充他人),所以老师决定将所有的表保存在自己手上(这也是常见的做法)

表一但多了就要进行区分,老师又不想记名字,就给每个同学发送一个seesionid,以后每个人记住自己的sessionid就行了(就像学号一样),以后和老师交流的时候只要告诉老师我的学号是什么,老师在后台的存储位置(比如说存在内存,内存型数据库redis,数据库)找到你的信息,我们的会话装填就会记录在你特定的位置上

sessionid怎么传来传去的呢?通常是使用cookie来传递,当然也可以通过其他形式来传递

token

使用session的形式保存sessionid,这里涉及到了会话状态的存储,会话状态要么存储在数据库中要么存储在内存中,由于服务器要做负载均衡,每台设备都要能访问到的话要么做分布式处理要么都存储在同一数据库,两样做法都有极大的缺陷

再这些缺陷下,token不在保存会话状态,而是将一些信息存储在token生成的一段令牌(一段数据),将token传递到用户本地,每一次发送请求都由用户将其带上。

每一次接到请求由服务器对token进行解析,解析的信息中就包含了会话状态。

由于token的时效性比较短,服务器使用了另外一个refleshtoken,他的时效性比token长。

每一次发送请求都会带上两个token,第一个token失效时,服务器就会通过检验第二个refleshtoken的时效,如果还有的话就会重新生成一个token,如果失效的话,就得让用户跳转到登录页面

单点登录

像一些企业,他们的域名不会同属一个根域名,比如说天猫和淘宝,但是他们的认证能够共享

这个问题先留着

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-03-13 22:13:16  更:2022-03-13 22:13:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 1:41:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码