【Web后端】会话跟踪技术及过滤器

1.会话跟踪技术

1.1 会话的概念

  • 在web应用中,浏览器和服务器在一段时间内发送请求和响应的连续交互的全过程

1.2 会话跟踪概念

  • 对同一个用户跟服务器的连续请求和接收响应的监视过程

1.3 会话跟踪作用

  • 浏览器和服务器是以http协议进行通信,http协议是无状态协议,本身是不会跟踪用户状态的。在类似于购物网站、电子邮箱,多次请求的操作,无法判断是否是同一个用户在执行,因此,需要使用会话跟踪技术。

1.4 四种会话跟踪技术

1.4.1 Cookie

  • 是跟踪用户会话的技术,在客户端浏览器保持会话跟踪的解决方式cookie以键值对形式保存信息,存储在客户端浏览器。
  • 当用户第一次向服务器发送请求时,服务器会将Cookie的信息随着响应发送给客户端浏览器。客户端浏览器会将信息保存起来。下一次发送请求时,会携带cookie中的信息,作为用户的唯一标识,被服务器跟踪识别。
  • Cookie会限制不超过4KB,并且不能跨浏览器使用
  • 用途:跟踪客户端状态,保存一些业务信息,记录用户登录状态
  • Cookie默认的生命周期,就是浏览器关闭

1.4.2 Session技术

  • Session是指使用HttpSession对象,实现会话跟踪技术,是一种在服务器端保持会话跟踪的方案。
  • 本质也是采用客户端会话管理技术。要依赖Cookie技术,在客户端保存一个特殊标识,共享的数据保存 在服务器端的内存中。
  • HttpSession是由JavaWeb API提供的接口,用来做会话跟踪的。保存在服务器端
  • 当用户第一次访问服务器(Servlet或jsp动态资源时),创建HttpSession对象,为对象分配一个唯一的 SessionID,将SessionId做为cookie(url重写)发送到浏览器端,浏览器会保存这个Cookie的数据。
  • 当浏览器端再次发送请求时,cookie会一起发送过来,服务器端获取SessionID,根据SessionID找到对 应的HttpSession对象,跟踪客户端的状态

1.4.3 URL重写

  • 也是会话跟踪的一种技术,主要用于浏览器端阻止所有的cookie,不能在浏览器端去保存session的id, 没有办法跟踪用户。
  • 可以将jsessionid缀到url地址后面,每次访问服务器,都会带着这个sessionid的数据

1.4.4 隐藏表单域

  • 是使用html中的input type="hidden"控件,在网页表单中隐藏相关客户端信息,在提交表单时,将信息 一并发送给服务器端,服务器通过读取jsessionid,去跟踪用户状态。

2.过滤器

  • 属于web应用的组件,具有拦截客户端浏览器请求的功能 ,针对这些请求数据做处理,拦截服务器端的 响应数据,做处理。
  • 过滤器可以有多个,形成一行过滤链
  • 过滤器使用场景:权限管理、编码、日志、性能监控
  • 要求,必须实现javax.servlet.Filter接口,重写doFilter方法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/13405.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SD1005S控制电路LED光源恒流控制模块驱动放大器

SD1005S是一个集控制电路与发光电路于一体的智能外控LED光源。其外型与一个5050LED灯珠相同,每个 元件即为一个像素点。像素点内部包含了智能数字接口数据锁存信号整形放大驱动电路,防反接电路,还包含有 高精度的内部振荡器和高精度恒流控制模块&#xf…

LM3658单芯片充电器电源适配器50mA-1000mA充电电流

该LM3658是一个单芯片充电器IC专为手持应用。它 可以通过AC电源适配器或USB电源对单节锂离子/聚 合物电池进行安全充电和维护。USB/AC的输入电源 选择是自动的。两个电源同时存在时,交流电源优先 。当使用AC墙壁适配器时,充电电流通过外部电阻器 编程&am…

算法工程师面试问题 | YOLOv8面试考点原理全解析(一)

本文给大家带来的百面算法工程师是深度学习目标检测YOLOv8面试总结,文章内总结了常见的提问问题,旨在为广大学子模拟出更贴合实际的面试问答场景。在这篇文章中,我们还将介绍一些常见的深度学习目标检测面试问题,并提供参考的回答…

Vue中<style>标签的scoped属性

Vue中style标签的scoped属性 一、前言1、举例 二、总结 一、前言 scoped 是 Vue 中 <style> 标签的一个特殊属性&#xff0c;用于限定样式的作用范围。当你在 Vue 单文件组件&#xff08;.vue 文件&#xff09;中使用 <style scoped> 标签时&#xff0c;该样式只会…

树结构,JS某个节点的父节点 兄弟节点 以及子节点

获取某个节点的所有父节点: function getAllParentNodes(list, id) {for (let i in list) {if (list[i].id id) {return [list[i]].filter((v) > v.id ! id);}if (list[i].children?.length > 0) {let node getAllParentNodes(list[i].children, id);if (node) retur…

AWS RDS ElasticCache 监控可观测最佳实践

在当今的电子商务时代&#xff0c;一个高效、稳定的电商平台对于保持竞争力至关重要。数据库作为电商平台的核心支撑&#xff0c;其性能直接影响到用户体验和业务流畅度。本文将深入探讨如何在电商场景下通过观测云对亚马逊云科技 RDS&#xff08;MySQL&#xff09; 和 Elastic…

python+selenium - UI自动框架之封装log类

通过自定log类&#xff0c;能把执行过程记录到日志&#xff0c;方便检查和重现问题。 log类介绍&#xff1a; 每次调用log函数&#xff0c;会根据绝对路径生成日志文件在logs目录下面(在被调用的时候日志会输出到指定的文件&#xff09;&#xff0c;日志文件的格式是年月日.lo…

vue+element的表格(el-table)排班情况表(2024-05-09)

vueelement的表格&#xff08;el-table&#xff09;排班情况&#xff0c;增删查改等简单功能 代码&#xff1a; <template><!-- 表格 --><div class"sedules"><el-header><el-date-pickerv-model"monthValue2"type"month…

postgresql中控制符带来的数据错觉

简介 在数据库字符集中&#xff0c;由于数据质量的控制不够完善&#xff0c;每一个字符集都并不是所有字符的能看见&#xff0c;有些字符的展示可能会出现乱码&#xff0c;甚至出现不同字符展示成同样效果的可能&#xff0c;给开发人员造成分析错觉。 当数据库存入了控制符&am…

【Unity Shader入门精要 第7章】基础纹理(三)

1. 渐变纹理 另外一种对于纹理的使用方式是通过渐变纹理为物体提供漫反射光照效果。 顾名思义&#xff0c;渐变纹理本身就是一张颜色渐变&#xff08;可以是连续渐变&#xff0c;也可能是突变&#xff09;的图片&#xff0c;这个渐变的过程模拟的就是光源从不同的角度照射物体…

Win11下Java环境安装指南

Windows下Java环境安装指南 前言一、安装简介JDK与JRE安装包 二、JDK安装检查操作系统类型基于Win11基于Win10 安装包准备工作 三、配置环境配置JAVA_HOME配置Path配置CLASSPATH 四、检验配置是否打开cmd命令行窗口输出java -version命令 五、注意事项 前言 在Windows系统上安…

移动机器人的机动性

移动机器人的机动性 机器人底盘运动学的活动性是表示它在环境中直接运动的能力。限制活动性的基本约束是每一轮子必须满足它的滑动约束的规则。所以,我们可从方程(3.26)正式地推导机器人的活动性。 除了瞬时的运动学运动之外,移动机器人通过操纵可操纵的轮子,能够随时操纵它的…

基于springboot实现的教师人事档案管理系统

开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09; 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&…

mysql 拆分字段为多行

留备 原数据idname1张三,李四,王二2zhangsan,lisi,wanger目标数据idname1张三1李四1王二2zhangsan2lisi2wanger select t.id, substring_index(substring_index(t.name,,,t1.help_topic_id1),,,-1) name from zq.test t inner join mysql.help_topic t1 on t1.he…

循环神经网络RNN的初学

1.循环神经网络的特点 x1——>y1的同时会产生a1&#xff0c;它包含了我们第一列处理信息的一些特点&#xff0c;然后这个a1就会被传送到y2上去&#xff0c;那么x2——>y2的序列中就会包含前一个的特点&#xff0c;依次类推&#xff0c;这就是我们的RNN结构**&#xff08…

八分钟“手撕”包装类与泛型

目录 一、包装类 基本数据类型和对应的包装类 装箱和拆箱 【思考题】 二、泛型 什么是泛型 引出泛型 怎么定义泛型和使用泛型 裸类型(Raw Type) 擦除机制 额外&#xff0c;注意下列代码&#xff1a; 泛型的上界 泛型的接口应用 泛型方法 一、包装类 简单来…

HNCTF_RE复现(一)

baby_python hnctf.yuanshen.life:33276 网页打不开&#xff0c;只能 nc 连接远程服务器。 运行没有回显 利用pickletools库进行反编译为字节码&#xff08;不知道为什么&#xff09; # Python 3.10.12 from pickle import loads import pickletools main b"\x80\x04ct…

代码随想录算法训练营第五十五天| 583. 两个字符串的删除操作 ,72. 编辑距离

目录 题目链接&#xff1a; 583. 两个字符串的删除操作 思路 代码 题目链接&#xff1a; 72. 编辑距离 思路 代码 总结 题目链接&#xff1a;583. 两个字符串的删除操作 思路 ①dp数组&#xff0c;dp[i][j]表示下标以i-1结尾的word1和下标以j-1结尾的word2若要相等&…

windows快速计算文件的SHA256数值的步骤

在文件路径打开cmd窗口 输入命令 用Windows自带的certutil命令来计算一个文件的校验值1&#xff1a; certutil支持的算法有&#xff1a;MD2 MD4 MD5 SHA1 SHA256 SHA384 SHA512。 certutil的使用方法非常简单&#xff0c;只需要执行“certutil -hashfile 文件名 校验值类型”…

分享我经常用的一个图片下载插件,不会写爬虫代码也能随意下载图片

更多精彩内容在公众号。 ImageAssistant&#xff08;图片助手&#xff09;是一款专为Chrome浏览器设计的扩展程序&#xff0c;它具备强大的网页图片处理功能。以下是关于ImageAssistant的一些主要特点和功能&#xff1a; 批量下载图片&#xff1a;ImageAssistant的核心功能之一…