会话和请求的区别

本文围绕Java Web开发展开,先介绍了Http协议,它是Java Web开发基础,采用请求/响应模型。还提到Servlet/JSP里的request和response对象是对Http协议相关内容的Java抽象。接着阐述了session,即会话,用于在无状态的Http协议请求间建立联系,并说明了session实现的细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

https://blog.youkuaiyun.com/qq646040754/article/details/81204797

Http协议是Java Web开发里servlet/jsp这些的基础,理解上面的内容先要了解Http协议。

Http协议基本是有一个request/response模型也就是请求/响应模型的,通俗讲也就是“一问一答”的模式:
浏览器向服务器发起request请求,这就是“问”;

服务器收到请求后,返回response响应,这就是“答”。

说到这里,Servlet/JSP里的request和resonse这两个对象你清楚了吧,其实就是Java Web把Http协议里这两个东西抽象成Java的类型而已。

接下来说Java Web开发里的session,也就是“会话”。
Http是一个“没有状态”的协议,也就是说原始Http协议里,浏览器的request请求之间是没关系的,通俗的说就是“说了下句忘了上句”。实际要想开发Java Web应用,应该让这些请求之间是有关系的,这就需要在多个request请求之间创建一些联系,这就是会话session。其实"会话“这个中文翻译是不错的,通俗讲就是:“要想顺利交谈,需要说了下句想起来上句”。
所以这些建立联系的request请求是属于某个session的,这就是你题目问到的:“当前请求的会话”的意思。

下面说说session技术实现的细节吧:(大致对应你问题里的三个方面)
(1)实际Java Web应用中,session会话会占用服务器的一段内存空间保存多个有联系request请求之间需要保存的共享变量;
(2)大部分session的实现对同一客户的相同浏览器的一段时间(称作session超时时间)内的请求作状态共享和保持,因此你打开不同的浏览器比如IE,以及Chrome会开启不同的session,而且你关闭浏览器后这个session也随之销毁了;
(3)session通过getAttribute()和setAttribute()这一对方法进行共享变量的获取和设置,也就是说要想保存状态就需要用这一对方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值