session是存储在服务器端,cookie是存储在客户端的,所以安全来讲session的安全性要比cookie高。
然后我们获取session里的信息是通过存放在会话cookie里的sessionid获取的。又由于session是存放在服务
器的内存中,所以session里的东西不断增加会造成服务器的负担,所以会把很重要的信息存储在session中,
而把一些次要的东西存储在客户端的cookie里,然后cookie确切的说分为两大类分为会话cookie和持久cookie
会话cookie确切的说是存放在客户端浏览器的内存中,所以说他的生周期和浏览器是一致的,浏览器关了会话
cookie也就消失了,反而持久化cookie是存放在客户端硬盘中,而持久化cookie的生命周期就是我们在设置
cookie时候设置的那个保存时间,然后我们考虑一问题当浏览器关闭时session会不会丢失,从上面叙述分析
session的信息是通过sessionid获取的,而sessionid是存放在会话cookie当中的,当浏览器关闭的时候会话
cookie消失所以我们的sessionid也就消失了,但是session的信息还存在服务器端,这是我们只是查不到所谓
的session但它并不是不存在。那么,session在什么情况下丢失,就是在服务器关闭的时候,或者是session
过期,再或者调用了invalidate()的或者是我们想要session中的某一条数据消失调用session.removeAttribute()
方法,然后session在什么时候被创建呢,确切的说是通过调用session.getsessiion来创建。就是session与
cookie的区别