Spring Boot中Cookie和session的使用和区别

Session和Cookie的区别

区 别 session cookie
存在 Cookie是客户端技术,通常保存在客户端,即本地,IE浏览器把Cookie信息保存在类似于C:\windows\cookies的目录下。因为Cookie在客户端所以可以编辑伪造,不是十分安全 Session是服务器端技术,在服务端,利用这个技术,服务器在运行时可以为每一个用户的浏览器创建一个其独享的session对象,由于session为用户浏览器独享,所以用户在访问服务器的web资源时,可以把各自的数据放在各自的session中,当用户再去访问服务器中的其它web资源时,其它web资源再从用户各自的session中取出数据为用户服务
存储数据 只能存储 String 类型的对象 能够存储任意的 java 对象
性能 Cookie存在客户端对服务器没影响 Session过多时会消耗服务器资源,大型网站会有专门Session服务器
作用域 Cookie通过设置指定作用域只能在指定作用域有效 Session在整个网页都有效
作用时间 Cookie可以通过 setMaxAge设置有效时间,即使浏览器关闭了仍然存在 关闭网页Session就结束了

总结:总体来说,session更加的安全,按时因为其将sessionID保存在服务器端,所以用户量大的话会讲的浏览数读,所以综上所诉,浏览量大用且没有特殊的安全需求用Cookie,如果浏览量不是很多的话,用session。

session和Cookie使用方法:

session:
创建

HttpSession session=request.getSession();
session.setAttribute("name", "session");

这里我创建了一个值为session,名为name的sessionID。

获取及销毁:

HttpSession session = req.getSession();
session.removeAttribute("name");//从session删除指定名称的绑定对象
//也可以用session.invalidate()销毁全部的session

你可能感兴趣的:(java,spring,boot,java)