当前位置: 首页 > news >正文

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改变

http://www.lryc.cn/news/302165.html

相关文章:

  • Springboot医院信息管理系统源码 带电子病历和LIS Saas应用+前后端分离+B/S架构
  • LeetCode.589. N 叉树的前序遍历
  • C++ Webserver从零开始:配置环境(九)——下载github的项目进行测试
  • 2024前端面试准备之TypeScript篇(一)
  • kali无线渗透之蓝牙攻击与原理
  • 【开源】基于JAVA+Vue+SpringBoot的就医保险管理系统
  • 德国vetter krantechnik起重机安装操作和维护说明包含电路图装配图
  • 怎样解决恢复VPS数据信息?
  • OpenAI最新模型Sora到底有多强?眼见为实的真实世界即将成为过去!
  • Qt的基本操作
  • 信号系统之数据压缩
  • 第二篇【传奇开心果微博系列】Python微项目技术点案例示例:成语接龙游戏
  • 国内AI大模型主要有哪些
  • RabbitMQ保证消息的可靠性
  • 【工作实践-02】实验室移动端—跳转页面及交互
  • HTTP 请求 400错误
  • C语言---指针进阶
  • QT-通信编码格式问题
  • 一文了解Web3.0真实社交先驱ERA
  • 微前端(qiankun)vue3+vite
  • 根据Ruoyi做二开
  • DockerFile的应用
  • 爬虫入门一
  • 2024-02-16 web3-区块链-keypass记录
  • 使用 JMimeMagic 在 Java 中识别文件类型
  • yolov8源码解读Detect层
  • (AtCoder Beginner Contest 341)(A - D)
  • python Flask与微信小程序 统计管理
  • 光伏企业助力乡村振兴
  • root MUSIC 算法补充说明