Servlet——Cookie与Session的对比

本文详细对比了Cookie与Session的不同之处,包括它们的存储位置、安全性、网络传输量、生命周期及访问范围等内容,并给出了使用建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Cookie与Session的对比

1.存在的位置
Cookie保存在客户端,Session保存在服务器端,服务器可以为每个用户浏览器创建一个会话对象(Session对象),注意:一个浏览器独占一个Session对象(默认情况下)。因此,在需要保存用户数据时,服务器程序可以把用户数据写到用户浏览器独占的Session中,当用户使用浏览器访问其它程序时,其它程序可以从用户的Session中取出该用户的数据,为用户服务。但是要注意Session数据不宜过多

2.安全性

  • Cookie是以明文的方式存放在客户端,安全性相对较弱,可以使用加密算法加密
  • Session是存放在服务器的内存中的,所以安全性好

3.网络传输量
Cookie通过网络在客户端与服务器端传输。而Session保存在服务器端,不需要传输。

4.生命周期(20分钟为例)

  • Cookie的生命周期是累计的,从创建时,就开始计时,20分钟后Cookie的生命周期结束,Cookie就失效
  • Session的生命周期是间隔的,从创建时开始计时,如在20分钟内没有访问过该Session,那么Session将被清除。如果在20分钟内,比如在第19分钟时,访问过该Session,它的生命期将重新开始计算下一个20分钟。
  • 另外,关机、关闭Tomcat或者reload应用会造成Session的生命周期结束,但是对Cookie没有影响

5.访问范围

  • Session为一个用户浏览器独享
  • Cookie为多个用户浏览器共享

其实Session和Cookie是有着千丝万缕的联系的,Session本身也要使用Cookie才能实现。
最后一个使用原则:因为Session会占用服务器的内存,因此不能过多地使用Session,不要向Session中放过多、过大的对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值