首页 > 其他分享 >SpringMVC(3)-request域和session域的作用和区别

SpringMVC(3)-request域和session域的作用和区别

时间:2024-05-03 23:44:45浏览次数:26  
标签:会议 HTTP 请求 SpringMVC request session 对话

最近看到项目中用到request域和session域,脑子里一直没有一个明确的区分,结合GPT整理了一份总结。
为了理解request和session的作用和区别,可以想象我们正在参加一个大型的科技会议。会议中,每位与会者(用户)都会与会议工作人员(服务器)进行交流。在这个比喻中,request域和session域是用于存储与会者信息和交流内容的两种不同的存储空间

Request域

  • Request域是如同与会者和工作人员的一次对话记录。这个对话记录仅在当前的对话中有效,对话结束后,所有记录都会被清除。
  • 在Web开发中,request域代表一个HTTP请求的生命周期。它用于存储处理一次HTTP请求过程中的信息。
    我们在会议中向工作人员提出了一个问题,比如询问某个会场的位置。工作人员给我们指路后,这次对话结束,他们就可能会忘记这个交流(即信息不会被保存到下一次对话)。

Session域

  • Session域则像是与会者的随身背包。在整个会议期间,你可以在背包中存放个人物品(信息),比如你的名片、笔记本或会议手册。只要会议还没结束,你随时可以取用。
  • 在Web开发中,session域用于存储跨多个请求或浏览器与服务器的交互过程中需要保持的信息。它在用户打开浏览器并访问服务器到关闭浏览器或session过期时一直有效。
    我们在会议的第一天收到了一份会议日程表,将它放入背包中。无论我们何时需要查看日程,只需打开背包取出即可。这份日程表会伴随整个会议,直到会议结束。

区别

  • 生命周期:request域的生命周期仅限于一次HTTP请求,而session域的生命周期可以跨多次HTTP请求,直至用户关闭浏览器或session过期。
  • 存储范围:request域仅在当前请求中有效,用于存储处理该请求所需的信息。而session域为用户在多次请求间共享的信息提供存储空间,如用户登录状态、偏好设置等。

标签:会议,HTTP,请求,SpringMVC,request,session,对话
From: https://www.cnblogs.com/marigo/p/18171840

相关文章

  • requestVideoFrameCallback
    requestVideoFrameCallback:将新视频帧发送到合成器时运行的回调函数requestVideoFrameCallback()的用法与Window.requestAnimationFrame()相同。您可以使用它来运行一个回调函数,该函数在下一个视频帧发送到合成器时执行某些操作。当合成下一个视频帧时,再次调用requestVid......
  • 使用新版flask-script时报错No module named flask._compat和cannot import name ‘_r
    flask版本:3.0.3Flask-Script:2.0.6Flask-script使用及错误Nomodulenamedflask._compat解决方法windows下推荐解决方案,点击flask_script进入init.py文件或虚拟环境\Lib\site-packages\flask_script_init_.pylinux下cd到目录/usr/local/lib/python3.12/site-packages......
  • SpringMVC(2)-Rest请求风格
    REST:RepresentationalStateTransfer,(资源)表现层状态转化。REST是目前流行的请求方式。在HTTP协议中,有四个基本操作:GET用来获取资源,POST用来新建资源,PUT用来更新资源,DELETE用来删除资源。REST就是通过get/post/put/delete说明crud的类型。REST的核心过滤器浏览器form表单......
  • [web]cookie session和token(jwt)
    cookie:用户登录后,服务器生成一个cookie返回,并要求浏览器set-cookie,存储一下,下次访问时带上cookie,即可区分用户cookie可以被篡改session:信息存储在服务端,客户端cookie中存一个sessionid服务端有额外的存储成本负载均衡需要考虑session共享查询session是查库操作,耗时高......
  • python+requests爬取B站视频保存到本地
    importosimportdatetimefromdjango.testimportTestCase#Createyourtestshere.importrequestsimportreimportjsonimportsubprocessfromconcurrent.futuresimportThreadPoolExecutordefdownload_video(url):#file_path='django3+dr......
  • 当Surveymonkey报错Request Header Fields Too Large时需要清理Edge浏览器缓存
     第一步:点击浏览器左上角的...第二步:依次进入Cookie和网站权限---管理和删除Cookie和站点数据。第三步:点击查看所有Cookie和站点数据。第四步:点击全部删除。第五步:清除站点Cooke数据。......
  • 使用springboot+thymeleaf 在html中获取session
    Controllerimportorg.springframework.stereotype.Controller;importorg.springframework.ui.Model;importorg.springframework.web.bind.annotation.GetMapping;importjavax.servlet.http.HttpSession;@ControllerpublicclassUserController{@GetMappin......
  • Media Session API
    MediaSessionAPI控制媒体播放和自定义媒体通知<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/>......
  • vite 项目,背景图报错 The request url "xx/xx/xx.xx" is outside of Vite serving all
    版本vite3.2.6vue3.2.37 背景本地启项目,项目中引用了自研组件库(没有安装,通过文件路径直接引用,便于调试项目和组件),两者文件夹是平级的组件库中背景图:background:100%/100%no-repeaturl('../assets/svg/xxx.svg'); 问题本地启动项目之后,背景图未正常展示浏览器控......
  • cookie,session,token 详解
    发展史1、很久很久以前,Web基本上就是文档的浏览而已,既然是浏览,作为服务器,不需要记录谁在某一段时间里都浏览了什么文档。每次请求都是一个新的HTTP协议,就是请求加响应,尤其是我不用记住是谁刚刚发了HTTP请求,每个请求对我来说都是全新的。这段时间很嗨皮。2、但是随着交互式Web......