面试题-6session 和 cookie

1.cookie

cookie采用的是客户端的会话状态,他是服务器再本地 机器上存储的一小段信息,并且随着请求发送给服务器。 通过 cookie cookie
= new cookie 创建,通过cookie.setMaxAge 设置cookie的持久化时间

2.Session

Session 是将数据存储在服务器中,会为每个客户端都创建一块内存空间
存储客户的数据,但客户端需要每次都携带一个标识ID去服务器中寻找属于自己的内
存空间。所以说Session的实现是基于Cookie,Session需要借助于Cookie存储客 户的唯一性标识JSESSIONID
我们可以通过request.getsession()获取session对象 通过session.setAttribute()存储对象,通过
session.getAttribute()获取
Session的生命周期:1.服务器关闭时,2.session过期(默认30秒)3.手动调用session.invalidate();
Session的作用范围:一次会话中

当浏览器关闭,session就消失了吗?

当我们关闭客户端浏览器时,Session并没有被销毁,还在服务器端,只不过客户端一旦把浏览器关闭掉以后,再去开一个新的窗口,之前的SessionID就再也访问不到了,因为SessionID是通过Cookie保存在浏览器进程中的,浏览器一旦关掉,所对应的Cookie也就消失了,当你把浏览器窗口关闭时,客户端并没有想服务器发送任何请求,服务器也收不到客户端提交过来的任何东西,所以服务器的那个Session依然还在那里存活着,当你在重新开一个窗口时,服务器会针对这个新的页面,发送一个新的SessionID,这个新的SessionID显然跟以前那个SessionID是不一样的,两者之间没有任何关系,这样客户端就会对应一个新的session上,而服务器端原有的那个会话则一直存在,一直等到超时,服务器端的session就销毁掉了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zyf_fly66

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值