【Http 每日一问,访问服务端的鉴权Token放在header还是cookie更合适?】

devtools/2024/12/22 20:29:52/
http://www.w3.org/2000/svg" style="display: none;">

结论先行:

  • token静态的,不变的,放在header里面。 典型场景 ,每次访问时需要带个静态token请求服务端,向服务端表明是谁请求,此时token也可以认为是个固定的access-key。
  • token动态的,会失效,放在cookie里面。 典型场景,业务登录态token,存在有效期的,过一段时间可能会失效。

下面具体展开下。

在选择将鉴权 Token 放在 HTTP Header 还是 Cookie 中时,需要考虑安全性、使用场景和具体需求。

将 Token 放在 HTTP Header 中

优点

  1. 安全性:通过 HTTPS 传输时,Header 中的 Token 不会暴露在 URL 中,减少了被窃取的风险。
  2. 灵活性:适用于跨域请求(CORS),因为可以在不同的域之间传递 Token。
  3. 标准化:通常使用 Authorization Header,符合 OAuth 2.0 等标准。

示例

curl -X POST https://company.com/user/v1/ \-H "Authorization: your_token"

将 Token 放在 Cookie 中

优点

  1. 自动管理:浏览器会自动管理 Cookie 的发送,对比Header ,无需手动设置。
  2. 生命周期:可以设置 Cookie 的过期时间,到期自动失效。

缺点

  1. 跨域限制:默认情况下,Cookie 不能跨域发送,可能需要额外配置。

示例

curl -X POST https://company.com/user/v1/ \ --cookie "token=your_token"

小结:静态的,需要跨域的 放header里面, 动态的,有生命周期,到期失效或者需要端上失效的,放cookie里面。


http://www.ppmy.cn/devtools/108892.html

相关文章

Python 数据分析— Pandas 基本操作(上)

文章目录 学习内容:一、Series 创建及操作二、DataFram 的创建与操作三、Pandas 的读写操作四、选择指定行列数据 学习内容: 一、Series 创建及操作 ** Series : Pandas 的一种数据结构形式,可理解为含有索引的一维数组。** **(…

Vue3图片上传报错:Required part ‘file‘ is not present.

错误 "Required part file is not present" 通常表明服务器期望在接收到的 multipart/form-data 请求中找到一个名为 file 的部分(即文件字段),但实际上没有找到。这可能是因为以下几个原因: 请求体构建不正确&#xff…

在前端中Proj4.js使用简单介绍

Proj4 是一个用于处理 JavaScript 里的几何图形和坐标计算的库。虽然这个库的知名度不如其他几何处理库如 Turf.js,但它提供了用于多边形、点、线等几何对象的计算功能,类似于 GIS(地理信息系统)的某些功能。 一、基础知识 在使…

Excel文档的读取(3)

我们继续观察“销售订单数据”这张工作表。这张表里的每一行其实就是一个订单。下一步,我们需要在工作表里,逐行去判断哪些订单商品是“火龙果可乐”,并把对应的订单总价添加到当月售卖总金额里。此处,我们需要用到行数据的遍历。…

Linux——redis理论、安全模型

一、redis 主要的data type redis 的原生客户端redis 支持通过python php golang 等语言连接redis 主要适用场景 二、redis如何进行数据存储 非关系数据库 不使用二维表 redis 使用键值对完成数据的存储redis一共有16个库 ,不同的库使用编号 0-15redis 在…

多机编队—(1)ubuntu 配置Fast_Planner

文章目录 前言一、Could not find package ...二、使用error: no match for ‘operator’...总结 前言 最近想要做有轨迹引导的多机器人编队,打算采用分布式的编队架构,实时的给每个机器人规划出目标位置,然后通过Fast_Planner生成避障路径&…

HarmonyNext动画大全03-帧动画

HarmonyNext动画大全03-帧动画 介绍 帧动画Animator和属性动画animation、显式动画animateTo的区别在于帧动画是通过返回应用onFrame逐帧回调的方式,让开发者在 应用侧的每一帧都可以设置属性值,从而实现设置了该属性值对应组件的动画效果。并且可以轻…

QT Android开发之Android端usb调试模式设置与问题解决

一.QT android开发android端usb调试模式设置 QT android开发环境搭建完成后,android设备需要打开usb调试模式才能正常连接,下面以小米ipad为例进行设置(其他手机和ipad设置方法类似) 1.问题: 笔者当时想拷贝ipad内文件到pc上,安装了360手机助手,用了几次后突然发现QT…