Cookie是web服务器发送给浏览器的一块信息,浏览器会在本地一个文件中给每个web服务器存储cookie。浏览器再给特定的web服务器发送请求时,同时会发送所有该服务器存储的cookie。
Session是存储在web服务器的一块信息。session对象存储特定用户会话所需的属性及配置信息。当用户在应用程序Web页面之间跳转时,存储在Session对象中的变量将不会丢失,而是在整个会话中一直存在下去。
区别:
1.cookie存储在客户端(浏览器),session存储在服务器端;
2.数据量:cookie只能存储少量的数据,session可以存放大量数据
3.在存储数据方面:session能存储任意java对象,cookie只能存储英文。
4.从生命周期方面:
session默认的生命周期时间间隔是30分钟(session的生命周期是间隔的,从创建时,开始计时如在30分钟,没有访问session,那么session生命周期被销毁,但是,如果在30分钟内(如在第19分钟时)访问过session,那么,将重新计算session的生命周期);
如果没有设置cookie的存活时间,当浏览器关闭的时候,cookie便消失了。如果设置cookie有效时间,过期后,浏览器在发送请求前,将删除对应的cookie。