session和cookie理解
目录
1、理解无状态
2、Session和Cookie理论
3、使用session存储数据
前言,理解session与cookie对于我们做web测试、接口测试、性能测试都是非常有帮助的。
cookie是一些数据信息,存储在浏览器端。
session是存储于服务器端的特殊对象,服务器会为每一个浏览器(客户端)创建一个唯一的session。这个session是服务器端共享,每个浏览器(客户端)独享的。我们可以在session存储数据,实现数据共享。
1、理解无状态
HTTP协议其中一个特点是:无状态。
无状态举例:假设浏览器发起一个登录请求,然后服务器做出响应,这个时候发起把一个商品加入到购物车的请求,但是服务器因为无法记住你之前已经登录成功的这个状态,它不给你把商品加入到购物车,它让你做登录操作。
2、Session和Cookie理论
Session用于记录用户的状态。Session指的是一段时间内,单个客户端与Web服务器的一连串相关的交互过程。
浏览器第一次发送请求给服务器,服务器知道是第一次访问,就会分配一个Set-Cookie的一个响应头,比如说里面包含了一个cookie,叫做session-id,同时也会把本地存储一个session文件在服务器端,是为了保持服务器的一个状态,当浏览器接收到服务器分配的响应之后,把cookie保存在本地,后续浏览器再次发送请求之后,就会把浏览器分配的cookie带上去,然后服务器这个时候收到了你客户端所发起请求的cookie,会跟本地的cookie进行比对,从而验证你这个cookie的身份到底对不对。
3、使用session存储数据
session类似于一个Map,里面可以存放多个键值对,是以key-value进行存放的。key必须是一个字符串,value是一个对象。
通过setArrtibute(属性名,Object)方法存储数据
if (type == null || type == 0) {//登录注册session.setAttribute(Constants.CHECK_CODE_KEY, code);} else {//获取邮箱session.setAttribute(Constants.CHECK_CODE_KEY_EMAIL, code);}
通过getArrtibute(属性名)获取数据
if (!checkCode.equalsIgnoreCase((String) session.getAttribute(Constants.CHECK_CODE_KEY_EMAIL))) {throw new BusinessException("图片验证码不正确");}
通过removeArrtibute("属性名")从session中删除数据
session.removeAttribute(Constants.CHECK_CODE_KEY_EMAIL);
注意:session是一次会话有效,浏览器改变,则session改变
相关文章:
session和cookie理解
目录 1、理解无状态 2、Session和Cookie理论 3、使用session存储数据 前言,理解session与cookie对于我们做web测试、接口测试、性能测试都是非常有帮助的。 cookie是一些数据信息,存储在浏览器端。 session是存储于服务器端的特殊对象,服务器…...
Springboot医院信息管理系统源码 带电子病历和LIS Saas应用+前后端分离+B/S架构
目录 系统特点 技术架构 系统功能 1、 标准数据维护 2、 收费(门诊/住院)系统 3、 药剂管理系统 4、 医生工作站系统 5、 护士工作站系统 6、电子病历系统 系统优点 云HIS系统简介 云HIS系统功能模块 门急诊挂号管理 门诊收费管理 门诊医…...
LeetCode.589. N 叉树的前序遍历
题目 589. N 叉树的前序遍历 分析 我们之前有做过LeetCode的 144. 二叉树的前序遍历,其实对于 N 插树来说和二叉树的思路是一模一样的。 二叉树的前序遍历是【根 左 右】 N叉树的前序遍历顺序是【根 孩子】,你可以把二叉树的【根 左 右】想象成【根 孩…...
C++ Webserver从零开始:配置环境(九)——下载github的项目进行测试
前言 大家好,我又来更新Webserver的博客了。上一次更新这个专栏时2024.2.5号,离现在已经13天了。非常抱歉,中间隔了那么久。一方面是基础知识学完之后,就要开始自己写代码了。看基础知识和写代码是两回事,理论和实践的…...
2024前端面试准备之TypeScript篇(一)
全文链接 1. 什么是TypeScript TypeScript是一种开源的编程语言,是JavaScript的一个超集。它添加了静态类型、类、接口和模块等特性,使得开发者能够更好地组织和维护大型应用程序。TypeScript代码可以被编译成JavaScript,从而可以在任何支持JavaScript的环境中运行。 2. …...
kali无线渗透之蓝牙攻击与原理
原理 蓝牙网络中的“个人身份码”攻击传统的蓝牙设备,主要是指“蓝牙规范2.1版”以前的各版蓝牙设备,以及使用“安全简化配对”(Secure SimplePairing,SSP)协议的蓝牙设备。 这些传统的蓝牙设备仅仅依赖于“个人身份码”( Personalldentifi…...
【开源】基于JAVA+Vue+SpringBoot的就医保险管理系统
目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 科室档案模块2.2 医生档案模块2.3 预约挂号模块2.4 我的挂号模块 三、系统展示四、核心代码4.1 用户查询全部医生4.2 新增医生4.3 查询科室4.4 新增号源4.5 预约号源 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVue…...
德国vetter krantechnik起重机安装操作和维护说明包含电路图装配图
德国vetter krantechnik起重机安装操作和维护说明包含电路图装配图...
怎样解决恢复VPS数据信息?
对于服务器来说其中的数据信息是十分重要的内容,一旦出现数据丢失或损坏,就会对企业造成巨大的损失,所以备份是非常重要的,那么在使用VPS时我们怎样能够恢复其中的数据信息呢? 一、手动备份 其中比较简单快速的备份方…...
OpenAI最新模型Sora到底有多强?眼见为实的真实世界即将成为过去!
文章目录 1. 写在前面2. 什么是Sora?3. Sora的技术原理 【作者主页】:吴秋霖 【作者介绍】:Python领域优质创作者、阿里云博客专家、华为云享专家。长期致力于Python与爬虫领域研究与开发工作! 【作者推荐】:对JS逆向感…...
Qt的基本操作
文章目录 1. Qt Hello World 程序1.1 通过图形化界面的方式1.2 通过代码的方式实现 2. Qt 的编码问题3. 使用输入框实现hello world4. 使用按钮实现hello world5. Qt 编程注意事项6. 查询文档的方式7. 认识Qt坐标系 1. Qt Hello World 程序 1.1 通过图形化界面的方式 我们先讲…...
信号系统之数据压缩
1 数据压缩策略 表 27-1 显示了对数据压缩算法进行分类的两种不同方法。在(a)中,这些方法被归类为无损或有损(lossless or loss)。无损技术意味着恢复的数据文件与原始文件相同。这对于许多类型的数据是绝对必要的,例如:可执行代码、文字处理…...
第二篇【传奇开心果微博系列】Python微项目技术点案例示例:成语接龙游戏
传奇开心果微博系列 系列微博目录Python微项目技术点案例示例系列 微博目录一、微项目目标二、雏形示例代码三、扩展整体思路四、玩家输入示例代码五、成语判断示例代码六、回答判断示例代码七、电脑判断示例代码八、游戏结束示例代码九、界面优化示例代码十、扩展成语库示例代…...
国内AI大模型主要有哪些
ChatGPT火爆后不到一个月的时间,阿里、华为、腾讯、京东、字节、360、商汤、科大讯飞等大厂纷纷下场,或官宣入场或亮相大模型。我国对生成式AI实行监管的正式法规主要是2023年8月正式施行的《生成式人工智能服务管理暂行办法》。 据不完全统计ÿ…...
RabbitMQ保证消息的可靠性
1. 问题引入 消息从发送,到消费者接收,会经理多个过程: 其中的每一步都可能导致消息丢失,常见的丢失原因包括: 发送时丢失: 生产者发送的消息未送达exchange消息到达exchange后未到达queue MQ宕机&…...
【工作实践-02】实验室移动端—跳转页面及交互
一、跳转页面不关闭当前页,与uniapp头部导航栏的返回按钮效果相似 uni.navigateBack({delta: 1}) 二、返回页面并刷新 1. 返回上一页时重新获取列表(调用上一页面获取列表方法) let pages getCurrentPages(); // 当前页面let beforePage pages[pages.length - 2…...
HTTP 请求 400错误
问题 HTTP 请求 400错误 详细问题 客户端发送请求 public static UserInfo updateUserInfo(UserInfo userInfo) {// 创建 OkHttpClient 对象OkHttpClient client new OkHttpClient();// 创建请求体MediaType JSON MediaType.parse("application/json; charsetutf-8&…...
C语言---指针进阶
1.字符指针 int main() {char str1[] "hello world";char str2[] "hello world";const char* str3 "hello world.";const char* str4 "hello world.";if (str3 str4){//常量字符串在内存里面是无法修改的,所以没必要…...
QT-通信编码格式问题
这里写目录标题 一、项目场景1.QT客户端与服务端通信时,转化步骤如下:2.原数据示例3.转化后数据 二、问题描述1.采用Soap协议2.采用HTTP协议 三、原因分析四、解决方案 一、项目场景 1.QT客户端与服务端通信时,转化步骤如下: 1&…...
一文了解Web3.0真实社交先驱ERA
Web2时代,少数科技巨头垄断了全球近60亿人口的网络社交数据,并用之为自己牟利,用户无法掌控个人数据,打破该局面逐渐成为共识,于是,不少人看到了Web3社交赛道蕴含的巨大机遇,标榜着去中心化和抗…...
别再手动重试!Gemini流式响应失败率下降98.7%的4行代码级修复方案(含官方SDK v0.8.3适配要点)
更多请点击: https://kaifayun.com 第一章:Gemini Bug修复公告 近日,我们在 Gemini 模型推理服务的 HTTP API 网关层发现一处竞态条件导致的响应体截断问题(CVE-2024-GEM-017),影响 v1.5.2 至 v1.5.8 所有…...
利用 TaoToken 统一管理多个 AI 项目的 API 密钥与用量
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 利用 TaoToken 统一管理多个 AI 项目的 API 密钥与用量 当你手头同时运行着多个 AI 应用或实验项目时,管理分散的 API …...
PowerToys Text Extractor:Windows屏幕文字提取的终极解决方案
PowerToys Text Extractor:Windows屏幕文字提取的终极解决方案 【免费下载链接】PowerToys Microsoft PowerToys is a collection of utilities that supercharge productivity and customization on Windows 项目地址: https://gitcode.com/GitHub_Trending/po/P…...
社交媒体心理健康检测:从TF-IDF到ALBERT的文本分类实战
1. 项目整体设计与思路拆解在社交媒体成为人们日常情绪表达主要出口的今天,利用这些公开文本数据来洞察用户的心理健康状态,已经从一个前沿研究课题,逐渐走向实际应用。我接触这个方向有几年了,从最初简单的关键词匹配,…...
告别图片搜索焦虑:如何在本地硬盘中秒级找到任何相似图片
告别图片搜索焦虑:如何在本地硬盘中秒级找到任何相似图片 【免费下载链接】ImageSearch 基于.NET10的本地硬盘千万级图库以图搜图案例Demo和图片exif信息移除小工具分享 项目地址: https://gitcode.com/gh_mirrors/im/ImageSearch 还在为硬盘里成千上万的图片…...
Claude医学文献分析准确率实测:对比GPT-4o、Gemini 2.0与专业文献数据库(n=1,847篇RCT,Kappa=0.91)
更多请点击: https://codechina.net 第一章:Claude医学文献分析案例 在临床研究与循证医学实践中,研究人员常需从海量PubMed、NEJM或Lancet等来源的PDF或HTML格式文献中快速提取关键信息。Claude系列大模型凭借其长上下文(最高20…...
用Python+SPSS搞定数学建模A题:从问卷数据清洗到慢性病影响因素分析全流程
PythonSPSS数学建模实战:慢性病影响因素分析与可视化全流程数学建模竞赛中,数据处理与分析能力往往决定了作品的深度与竞争力。面对慢性病影响因素分析这类典型的社会医学问题,如何高效完成从原始问卷到可视化报告的全流程?本文将…...
机器学习辅助第一性原理:高精度计算电化学氧化还原电位
1. 项目概述:当机器学习遇上第一性原理,破解电化学模拟的精度瓶颈在电化学、材料科学和计算化学的交叉领域,预测一个分子或离子在溶液中的氧化还原电位,就像试图在暴风雨中测量一滴雨滴的精确落点。这个数值,直接决定了…...
LiDAR增强信道估计:融合几何感知提升毫米波MIMO-OFDM系统性能
1. 项目概述与核心思路在毫米波大规模MIMO-OFDM系统中,尤其是在车联网这类高动态、低时延的应用场景里,获取精确的信道状态信息(CSI)是保障通信可靠性与高效性的基石。传统的信道估计方法,无论是基于最小二乘ÿ…...
C#实现ASCII和字符串相互转换的代码示例
知识点 string 1 Stirng.Empty 表示空字符串。 此字段为只读。此字段的值为零长度字符串“”。string为引用数据类型。会在内存的栈和堆上分配存储空间。因此string.Empty与“”都会在栈上保存一个地址,这个地址占4字节,指向内存堆中的某个长度为0的空间…...
