面试加强(Session&&Cookie)

本文深入解析了Session与Cookie的工作原理,对比了两者的区别,包括数据存储位置、大小限制、安全性和生命周期等,并探讨了面试中常问的相关问题。

目录

Session&&Cookie:

一:原理:

二:区别:

三:面试:


Session&&Cookie:

一:原理:

Session是一种服务器端的信息管理机制。

是基于Cookie技术实现,重启浏览器后再次访问原有的连接依然会创建一个新的session。因为Cookie在关闭浏览器后会消失,但是原理服务器的Session还在,只有等到销毁的数据才会自动销毁。

Cookie是一种客户端的会话状态的一种储存机制。    

二:区别:

1:俩者都是会话技术

但是Session将数据保存在服务器端,Cookie将数据保存在客户端。

2:Cookie有大小限制以及浏览器在存Cookie的个数也有限制,Session没有大小限制

但是因为在服务器端,所以和服务器的内存大小有关联。

3:Cookie有安全隐患,通过拦截本地文件可以找到你的Cookie后进行攻击。

4:Session是保存在服务器端上,会存在一段时间才会消失,但是会增加服务器的压力。

5:生命周期:

Cookie的生命周期是累计的,从创建开始就开始计时,到一定时间,Cookie生命周期结束;

Session 的生命周期是间隔的,从创建时,在一定时间内未访问,Session生命周期被销毁,但是,在这个时间内,访问过,就会重新计算Session的生命周期。关机会造成Session生命周期结束,但是对Cookie没有影响。

6访问范围:

Cookie为多个用户浏览器共享;Session为一个用户浏览器独享。

三:面试:

1:Session 产生的Session_ID放在Cookie中,如果用户把Cookie禁止掉,Session是否能够使用?

禁止Cookie后,Session依然可以使用,可以通过其他方式来获取Session_ID。

比如:

可以放置在URL的后面

以表单形势提交到服务器端,从而是服务器端了解客户端的状态。

2:Session为什么比Cookie更安全。

Session_ID是加密的,第二次session_start的时候,前一次的sessionID就没有用了。Session过期时,session_ID也会失效。所以短时间内破解加密的sessionID很难,因为session是针对某一次通信的,一旦会话结束,session也就随着会话结束而消失,而cookie可以通过拦截本地文件找到你的cookie,然后进行攻击,安全性差。

3:关闭session:

1:关闭Tomcat/服务器 

2:重启web应用

3:session过期(默认30min)(可以在工程的web-xml文件中进行配置)

4:手动session.invalidate()

5:session的生命周期:

创建:第一次执行Request.getSession时创建

(客户端访问服务器端,执行到该方法,会看有没有属于该客户端的session区域,有,不创建,没有,创建新的)

销毁:服务器关闭、Session过期、手动销毁

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值