| |
|
开发:
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 的理解 |
由于http是无状态的协议。什么是无状态的协议? 就是向同一个服务器发的多个请求之间是没有关系的 假如你正在某个购物商城购物,你的登录、搜索、下单、支付等操作,服务器不知道这些操作是否来源于同一个用户。 因此诞生了这些鉴权方式 cookie由服务端保存在客户端的一小段文本信息,格式是键值对 分类: 会话级cookie:保存在内存中,浏览器页面关闭即消失; 持久级cookie:保存在硬盘中,不会随浏览器窗口的关闭而关闭 格式组成: name: value: path: 作用路径 expires:失效时间 Http-only:可以由服务端设置,也可以由客户端设置,是一种安全设置,可防御CSRF攻击(原理就是:攻击者可以拿到cookie,但是不能使用cookie) 鉴权方式: step1:客户端第一次访问服务器时,服务器会在响应头中set-cookie中设置cookie,然后在客户端进行存储。 step2:在之后访问服务器中,都会在请求头中自动携带保存在客户端的cookie,然后和服务端的cookie进行对比,验证是否为同一个操作用户 缺点: 由于这个cookie是保存到客户端中的,对于密码这些敏感信息而言,cookie保存很不安全,黑客很容易拿到这些信息, 由此就想到--能不能把不重要的信息保存在客户端,而把重要的敏感信息保存到服务端呢?由此产生了session sessionstep1:当客户端请求服务器时,服务器会生成sessionid,并且保存到服务器,然后在响应里面就会把sessionid 通过cookie传输给客户端; step2:后面所有的请求都会在请求头cookie里面带上sessionid,然后和服务器的sessionid进行对比实现鉴权(sessionid的鉴权依赖于cookie)
token也称令牌 为什么引入token? 当客户端频繁向服务端发请求时,服务端会频繁去查数据库进行对比,判断用户和密码是否正确,给服务器带来很大压力 token就是由服务端生成的一串字符串,以作为客户端进行请求的一个令牌,第一次登录成功后,服务端便会生成一个token,并将此token返回给客户端,以后客户端只需要带上这个token来请求数据即可 目的:减轻服务器的压力。减少频繁查询数据库 鉴权流程: 1 客户端使用用户名和密码请求登录 2 服务端收到请求,去验证用户名和密码 3 验证成功后,服务端会签发一个token,再把这个token 发送给客户端 4 客户端收到token后可以把它存储起来,比如放到cookie里或者localstorage中 5 客户端每次向服务端请求资源时需要带着服务端签发的token 6 服务端收到请求,然后去验证客户端请求里面带着的token,如果验证成功,就向客户端返回请求的数据 Cookie 和 Session 的区别
|
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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/26 9:53:48- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |