cookie和session之间的关系

2023-11-03

当登录接口依赖token的,可以先登录后,token存到一个yaml或者json或者ini的配置文件里面,
后面所有的请求去拿这个数据就可以全局使用。

如果是cookies的参数,可以用session自动关联。详情如下:

一、cookie与session都是可以用来保存信息,存储数据的。cookie是在客户端保存的(如浏览器),而session是在服务端保存的(如tomcat)。session是会话级别的(在一个会话期间,session里面的数据都不会消失)

二、cookie和session的关联技术

通过cookie可以关联session,服务端创建的每一个session都是存储在服务端内存中的,服务器的内存可能会有多个session,并且每一个session都会有一个sessionId,每一次新建一个session都会通过增加一个请求头的方法创建一个cookie来保存sessionId(可以通过抓包获取cookies,然后requests.session() 方法来控制会话)。

抓包可以用fiddler、charles、burpsuite等。选取拦截的cookies中的token值,放入requests.sesson()中,访问时即可越过身份验证,请求成功。

原因:客户端每次向服务器发起请求都会带上cookie,服务端可以通过cookie携带的sessionId来找到对应的session,从而获取session里面的数据。(每一个cookie都有自己的有效路径,通过设置自己的有效路径可以决定在发送哪些请求时可以带上该cookie,默认是本身的webapp实例)

所以cookies关联session会很方便。且首次登陆一个账号,一般会生成一个或多个唯一的cookie来保存该账号对该网站的会话信息(cookie保存sessionId,sessionId指向一个唯一的session,session保存会话信息),但是当浏览器禁用cookie后,浏览器也就没有办法通过cookie来传递sessionId了(此时session还在,只是客户端没有携带sessionId从而无法找到对应的session,解决的办法是通过url重写,把sessionId参数携带在url中,连同url一起发送给服务器即可)

另外:当调用request.geSession()方法时,首先会根据客户端传递的cookie保存的sessionId来寻找对应的session,当找不到sessionId对应的session或者没有携带sessionId时,就会自动创建一个session对象并把生成的sessionId通过客户端用cookie保存起来(客户端的cookie保存sessionId所用的key是JSESSIONID)。这样一直循环下去,每次删除后,都会新建一个session对象,并保存再cookie中(里面包含sessionid)。

具体用法可以通过help(requests.session())查看,当然需要先导入resuests。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

cookie和session之间的关系 的相关文章

随机推荐

  • HBuilder 打包 H5 APP 进行认证登录

    H5 Mui App 统一身份认证登录过程的记录 在 h5 app 开发的过程中 用到到统一认证登录的功能 统一身份认证登接口 来进行登录验证 在开发 h5 app 的时候 一般会提供 app 网页版的 这时候会发现 网页版和打包的APP几
  • Perl知识点滴

    函数多返回值 v1 abc v2 bcd v3 v4 upcase v1 v2 sub upcase my parms for parms tr a z A Z return wantarray parms parms 0 print v3
  • 【数据结构】6.4 AVL树(C++)

    数据结构 6 4 AVL树 没有学过二叉搜索树 也叫二叉排序树或二叉查找树 的小伙伴们建议先学习一下 这样阅读会更轻松哦 点我学习二叉搜索树 目录 一 AVL树的概念 1 二叉搜索树的问题 2 AVL树的性质 二 AVL树实现平衡的方法 1
  • 为啥要用三层结构

    开发人员可以只关注整个结构中的其中某一层 可以很容易的用新的实现来替换原有层次的实现 可以降低层与层之间的依赖 有利于标准化 利于各层逻辑的复用 结构更加的明确 在后期维护的时候 极大地降低了维护成本和维护时间 体现了高内聚 低耦合的思想
  • DocuCentre SC2020 打印机连接

    驱动下载地址 https support fb fujifilm com setupDriverForm do ctry code CN lang code zh CN d lang zh CN pid DCSC2020 anchor0 安
  • 《再也不怕elasticsearch》es环境搭建、集群搭建

    Elasticsearch环境搭建 大家好我是迷途 一个在互联网行业 摸爬滚打的学子 热爱学习 热爱代码 热爱技术 热爱互联网的一切 再也不怕elasticsearch系列 帅途会慢慢由浅入深 为大家剖析一遍 各位大佬请放心 虽然这个系列帅
  • 90、基于STM32单片机数字频率计频率检测配NE555脉冲发生器设计(程序+原理图+PCB源文件+参考论文+硬件设计资料+元器件清单等)

    单片机主芯片选择方案 方案一 AT89C51是美国ATMEL公司生产的低电压 高性能CMOS型8位单片机 器件采用ATMEL公司的高密度 非易失性存储技术生产 兼容标准MCS 51指令系统 片内置通用8位中央处理器 CPU 和Flash存储
  • 几个效率高的排序算法

    实用排序算法 复杂度小于等于O n 2 中效率最低但实现并不是最简单的的两个 C C 教材却总喜欢拿来大讲特讲 非常不利于初学者养成 程序效率 的思维 实际上 各种排序算法里 除了堆排序实现较为复杂外 从代码量的角度 大多数算法都不比冒泡
  • matlab标准数据,Matlab数据标准化实现

    在多属性综合评价问题中 为了消除量纲差异带来指标不可公度性问题 往往需要对原始评价矩阵进行标准化处理 通过将不同量纲进行变换 变为无量纲的标准化指标 考虑到原始评价矩阵可能同时有多种类型的指标 比如 某个评价问题中可能同时有正向指标 越大越
  • 五分钟让你彻底了解TDD、ATDD、BDD&RBE

    在目前比较流行的敏捷开发模式 如极限编程 Scrum方法等 中 推崇 测试驱动开发 Test Driven Development TDD 测试在先 编码在后的开发实践 TDD有别于以往的 先编码 后测试 的开发过程 而是在编程之前 先写测
  • PostgreSQL用户登录失败自动锁定的解决办法

    墨墨导读 PostgreSQL使用session exec插件实现用户密码验证失败几次后自动锁定 本文介绍一种处理方案 一 插件session exec安装配置篇 下载插件并编译安装 https github com okbob sessi
  • RPA机器人的两种类型与未来发展

    眼下 RPA 机器人流程自动化 日渐成为业务流程优化重要解决方案和企业关注的重点 RPA不仅可以改善企业的工作方式 带来效率的提升和超高的投资回报率 ROI 其潜在的其他好处也是其他工具所无法比拟的 如改善客户体验 提高员工满意度 提高人才
  • 机器学习(一)svm运用实例

    机器学习 一 svm运用实例 这里我使用sklearn svm SVC函数 首先介绍一下函数参数 sklearn svm SVC C 1 0 kernel rbf degree 3 gamma auto coef0 0 0 shrinkin
  • TCPIP四层协议

    TCP IP四层协议 在说TCP IP四层协议之前 就不得不说OSI七层模型 OSI七层模型 自底向上依次是物理层 数据链路层 网络层 传输层 会话层 表示层 应用层 TCP IP体系结构的优点 1 简化了计算机网络的结构 从原来的七层模型
  • UITabBarItem

    UITabBarController UITabBar UIBarItem UITabBarItem UITabBarItem就是UITabBar上显示的小按钮 我们也可以定制系统UITabBarItem按钮 只需通过UITabBarIte
  • C/C++的64位整型 zz

    为了和DSP兼容 TSint64和TUint64设置成TSint40和TUint40一样的数 结果VC中还是认为是32位的 显然不合适 typedef signed long int TSint64 typedef unsigned lon
  • 初始化 Repo错误 错误信息:fatal: error [Errno 111] Connection refused

    错误信息 fatal error Errno 111 Connection refused 解决方法 修改home 目录下的 bashrc文件 gedit bashrc 在文件的末尾添加如下命令 export PATH bin PATH e
  • QT5.6静态编译添加ODBC数据库

    qt5 6已经编译好 现在添加ODBC数据库的支持 1 进入qt everywhere opensource src 5 6 3 qtbase src plugins sqldrivers odbc目录 运行qmake exe 然后再运行n
  • C语言学生管理系统课程设计

    include
  • cookie和session之间的关系

    当登录接口依赖token的 可以先登录后 token存到一个yaml或者json或者ini的配置文件里面 后面所有的请求去拿这个数据就可以全局使用 如果是cookies的参数 可以用session自动关联 详情如下 一 cookie与ses