若不设置过期时间,则表示这个cookie的生命期为浏览器会话期间,关闭浏览器窗口,cookie就消失。
这种生命期为浏览器会话期的cookie被称为会话cookie。
会话cookie一般不存储在硬盘上而是保存在内存里,当然这种行为并不是规范规定的。
若设置了过期时间,浏览器就会把cookie保存到硬盘上,关闭后再次打开浏览器,这些cookie仍然有效直到超过设定的过期时间。
存储在硬盘上的cookie可以在不同的浏览器进程间共享,比如两个IE窗口。而对于保存在内存里的cookie,不同的浏览器有不同的处理方式。
客户端浏览器第一次访问请求时,服务器会生成cookie会携带session信息的id(此id号唯一) 通过响应发给客户端。则可以通过session来传递信息
session不会随着cookie的消失而消失,任然存在服务器当中,它自身有个失效时间,即距离上一次访问间隔多长时间后消失。
cookie小结
① cookie 是在服务端创建
② cookie 是保存在浏览器这端
③ cookie 的生命周期可以通过
cookie.setMaxAge(2000);
如果不设置setMaxAge则该cookie的生命周期当浏览器关闭时,就消亡.
④ cookie 可以被多个浏览器共享(与session的区别)
session小结
① session是存在服务器的内存中
② 一个用户浏览器,独享一个session域对象
③ session中的属性的默认生命周期是30min ,你可以通过 web.xml来修改
④ session中可以存放多个属性
⑤ session 可以存放对象
⑥ 如果 session.setAttribute(“name”,val) , 如果名字重复,则会替换该属性.