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 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> cookie,session,token区别 -> 正文阅读

[系统运维]cookie,session,token区别

cookie,session,token区别

前提:用户登陆一次以后下次不会再输入密码,核心的概念就是存储

cookie流程

浏览器发起http请求,服务器会进行cookie设置,服务器会进行cookie设置,也就是set-cookie,服务器会把cookie中的名和值属性里面的内容填充完整,cookie发给浏览器以后,浏览器会保存起来,整浏览器以后每一次发起请求都会自动附上这个cookie,存储在浏览器中的数据,

session流程

session一般都保存在数据库里,用户登录后有用户名和密码经过比对后,成功登录以后,会返回sessionid和max-age(会话结束时间),然后把这两个东西传回到浏览器,这里就用到了cookie,设置cookie,并且把sessionid加入到cookie中,再把会话结束时间对应设置成为这个cookie的有效期,浏览器拿到cookie后进行保存,注意,这个时候cookie中是没有用户名和密码的,只有seesionid也是没有规律的字符串,服务器在发送cookie之前会对这个含有seesionid的cookie进行签名,换句话说,如果黑客修改了seesionid,那么sessionid就会变成服务器识别不了的字符串也就是说,其实sessionid也是利用了cookie的特点作为媒介,来进行对用户名称以及密码进行保存的,

随着互联网的发展,用户群体变得越来越大,如果服务器一直坚持使用cookie,那么服务器就会面临大量的sessionid保存在服务器里面,现在就出现了一种技术叫做jwt

jwt流程

用户第一次登陆以后,服务器会生成一个jwt,服务器不需要保存这个jwt,只需要保存jwt签名的密文,接着把jwt发给浏览器,可以让浏览器以cookie或者storage的形式存储,假设以cookie的形式保存下来,这样用户每次发送请求都会把这个jwt发给服务器,和session很类似,只不过token存储在用户那边

JWT(json web token)认证机制

1.了解session认证的局限性

session认证需要配合cookie才能实现,但由于cookie不支持跨域访问,所以当涉及到前端跨域请求后端接口的时候,需要做很多额外的配置

注意

  • 当前端请求后端,需要跨域的时候,推荐使用JWT机制

工作原理

在这里插入图片描述

将用户的信息通过token字符串的形式,保存在客户端浏览器中,服务端通过还原token字符串的形式来认证用户的身份

jwt中保存在客户端,session保存在服务端

jwt组成部分:头部,有效荷载,签名 HEADER.Payload.Signture

使用英文的“ . ”分隔

其中payload才是真正的用户信息,剩下两个是安全性相关的部分,为了保证token的安全性

使用方式:

浏览器客户端收到jwt后,通常会存储在localstroage或者sessionstorage中

此后,客户端每次与服务器通信,都要带上这个jwt的字符串,从而进行身份认证,推荐的做法是把jwt放在http请求头中的authorization中

Authorization: Bearer<token>

参考:https://www.bilibili.com/video/BV1ob4y1Y7Ep?spm_id_from=333.337.search-card.all.click

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-06-08 19:16:18  更:2022-06-08 19:19:48 
 
开发: 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年5日历 -2024/5/19 2:03:34-

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