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

谈谈会话管理

· 客户端和服务器之间进行数据传输遵循的是HTTP协议, 此协议属于无状态协议(一次请求对应一次响应, 响应完之后断开连接), 服务器是无法跟踪客户端的请求, 通过cookie技术可以给客户端添加一个标识, 客户端之后发出的每次请求都会带着这个标识从而让服务器识别此客户端, 但由于cookie的数据是保存在客户端的, 存在被篡改的风险, session技术是将数据保存在服务器端的, 这样就可以提高安全性, 不存在被篡改的风险

· cookie: 数据保存在客户端(类似于打孔式的会员卡)

cookie数据默认保存在浏览器的内存中, 当会话结束时cookie会从内存中清除, cookie也可以修改任意保存时间, 只要是设置了事件数据会从内存中保存到磁盘中

只能保存字符串类型的数据

由于cookie保存的数据会随着每次请求一起传递给服务器, cookie是存在于请求头中的, 所以单个cookie的数据存储量只能保存几k的数据

应用场景: 记住用户名和密码, 通过cookie实现

· session: 数据保存在服务器(类似银行卡)

session数据是保存在服务器内存中, 由于服务器内存资源紧张, 保存的时间只有半个小时左右

可以保存任意对象类型的数据

单个session没有保存数据量的限制, 但是由于服务器内存资源紧张, 也不建议保存大量数据

应用场景: 记住登录状态

通过cookie实现记住用户名和密码

· 登陆成功时将用户名和密码通过cookie下发给客户端, 保存在客户端浏览器中

  1. 在login.html页面中添加记住用户名和密码的控件 和user里面的rem属性进行双向绑定

  1. 在User实体类中添加rem属性 重新生成get set方法 和tostring方法

  1. 在UserController 登录成功的时候 创建cookie把用户名和密码装进cookie 发送给客户端

  1. 在login.html页面的created方法中获取cookie里面的用户名和密码显示到页面中

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

相关文章:

  • Linux查看JVM FULL GC频率
  • java世界String的那些事
  • 【图像配准】多图配准/不同特征提取算法/匹配器比较测试
  • 2023金三银四季跳槽季,啃完这软件测试面试题,跳槽不就稳稳的了
  • 【C++详解】——vector类
  • uniapp 离线本地打包
  • 初识马尔科夫模型(Markov Model)
  • CentOS7 ifconfig(或 ip addr)命令不显示IP地址
  • 2023/2/10总结
  • 2023最新版!宝塔面板Docker自建Bitwarden密码管理
  • 【Hello Linux】 Linux基础命令
  • 151、【动态规划】leetcode ——2. 01背包问题:二维数组+一维数组(C++版本)
  • 2023-02-09 - 3 Elasticsearch基础操作
  • 云原生系列之使用 prometheus监控MySQL实战
  • 电脑分盘怎么分?分盘详细教程来了,图文教学
  • Element UI框架学习篇(四)
  • Revit快速材质切换:同一墙面赋予不同材质的方法
  • 【Linux operation 56】Linux 系统验证端口连通性
  • @Valid注解配合属性校验注解完成参数校验并且优化异常处理
  • 每天一道大厂SQL题【Day08】
  • 朗润国际期货:2023/2/10今日期市热点及未来焦点
  • TLV73312PQDRVRQ1稳压器TPS622314TDRYRQ1应用原理图
  • 课程回顾|以智能之力,加速媒体生产全自动进程
  • C库函数文件操作(fopen、fread、fwrite、fclose)
  • 【Java|golang】1798. 你能构造出连续值的最大数目
  • VB 消息、消息队列、事件
  • Linux实用指令记录
  • Jetpack Compose中的绘制流程和自定义布局
  • 笔试题-2023-芯动-数字IC设计【纯净题目版】
  • 高压放大器在孔道灌浆非线性超声测试中的应用