1.存在的位置不同
cookie:存在客户端的临时文件夹
session:存在服务器的内存中,一个session域对象为一个用户浏览器服务
2.安全性
cookie:是以明文方式存放在客户端的,安全性弱,可以通过加密后再存放(MD5加密算法)
session:是存放在服务器端内存中,所以安全性较好
3.网络传输量
cookie:通过网络在客户端与服务器端传输
session:保存在服务器端不需要传输
4.生命周期(以20分钟为例)
cookie的生命周期是累计的,从创建时就开始计时,20分钟后cookie生命周期结束,cokie无效
session的生命周期是间隔的,从创建开始计时,如果20分钟没有访问过session,那么session信息无效,如果20分钟内访问过session,那么生命周期重新计算,session失效
另外以下情况也会导致session失效:关闭tomcat,reload web应用,生命周期到,invalidate
5.从访问范围来看
cookie:为多个用户浏览器共享
session:为一个用户浏览器独享
使用原则:
因为session会占用服务器内存,因此不要向session中存放过多过大的对象,会影响内存