面试题之——Cookie和Session的区别

面试题之——Cookie和Session的区别

一.存储位置

  1. Cookie存储在客户端(浏览器)当中
  2. Session存储在服务器当中

二.安全性

  1. Cookie由于存储在客户端当中,Cookie数据可以被用户或其他恶意程序直接访问和修改,因此存在被窃取或篡改的风险。
  2. Session存储在服务器当中,不易被外部直接访问,安全性更高,除非服务器被攻击破坏。

三.性能方面

  1. 由于Cookie是每次发http请求都会携带的内容,如果Cookie存储的数据较多,会占据带宽,增加网络传输的压力。
  2. 由于Session是存储在服务器当中,则会占用服务器的资源。

四.存储大小

  1. Cookie的容量有限,通常为4KB左右,一个站点最多能保存20个cookie;
  2. Session通常没有具体的容量限制,可以存储更多的数据。

五.生命周期

  1. 对于Cookie来说,如果没有设置过期时间,它被称为会话Cookie,其生命周期仅限于浏览器会话期间,一旦关闭浏览器窗口,Cookie就会消失。如果设置了过期时间,浏览器会将Cookie保存到硬盘上,即使关闭浏览器后再次打开,这些Cookie仍然有效,直到超过设定的过期时间。
  2. Session的生命周期通常在用户关闭浏览器或者一定时间内没有活动访问时结束;Session一般不设置存活时间tomcat中默认的是30分钟。

六.使用场景

  1. 由于Cookie的安全性较低,所以一般存储的都是一些简单的用户偏好设置或少量的会话信息(非敏感信息)。
  2. Session更适合存储用户的登录状态或其他敏感信息。

七.数据类型不同

  1. Cookie一般存储的都是一些字符串内容。
  2. Session则存储的是对象类型。
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值