cookies和session的区别【面试】

一、 共同点:

  • 目的:Cookie和Session都是用来跟踪浏览器用户身份的会话方式。

二、 工作原理:

1. Cookie的工作原理

  • 浏览器端第一次发送请求到服务器端。
  • 服务器端创建Cookie,包含用户信息,然后将Cookie发送到浏览器端。
  • 浏览器端再次访问服务器端时会携带服务器端创建的Cookie。
  • 服务器端通过Cookie中携带的数据区分不同的用户。

2. Session的工作原理

  • 浏览器端第一次发送请求到服务器端,服务器端创建一个Session,并生成一个特殊的Cookie(通常名为JSESSIONID),包含Session对象的ID,然后将该Cookie发送至浏览器端。
  • 浏览器端发送后续请求到服务器端时,会携带该名为JSESSIONID的Cookie。
  • 服务器端根据名为JSESSIONID的Cookie的值(sessionId),去查询Session对象,从而区分不同用户。

三、 区别:

1.数据存储位置

  • Cookie数据保存在客户端(浏览器)。
  • Session数据保存在服务端。
    2. 安全性
  • Cookie不是很安全,因为数据存放在客户端,可以被分析和伪造。
  • Session更安全,因为数据存储在服务器端,客户端仅持有Session ID。
    3. 存储限制
  • Cookie在客户端的限制是3KB,即一个站点在客户端存放的Cookie不能超过3KB。
  • Session没有大小限制,但会占用服务器内存。

4. 生命周期

  • Cookie的生命周期可以设置为浏览器会话期间或固定时间,过期后Cookie数据会被删除。
  • Session的生命周期通常取决于会话的持续时间,用户关闭浏览器或Session超时后,Session会失效。

5. 服务器性能影响

  • 使用Session可能会占用较多的服务器内存,尤其是在用户量大的情况下。
  • Cookie主要存储在客户端,对服务器性能影响较小。

6. 使用场景

  • 将登录信息等重要信息存放为Session,因为Session更安全。
  • 其他信息如果需要保留,可以放在Cookie中,如用户属性设置。

四、 面试回答简洁版

Cookie和Session都是为无状态的HTTP协议下保持用户状态的技术。它们的区别包括:

  • 存储位置:Cookie数据存放在客户端(浏览器)上,而Session数据存放在服务器端。
  • 安全性:由于Cookie存储在客户端,因此更容易被篡改或被第三方读取,安全性较低。Session由于存储在服务器端,只有通过Session ID才能访问,因此更安全。
  • 存储限制:Cookie在客户端有大小限制,通常为3KB,而Session没有这个限制,但会占用更多的服务器内存。
  • 生命周期:Cookie的生命周期可以设置为会话期间或固定时间,Session的生命周期通常取决于用户的会话时间或Session的超时设置。
  • 服务器性能影响:Session会占用服务器内存,如果用户量大,可能会对服务器性能产生影响,而Cookie主要存储在客户端,对服务器性能影响较小。
  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值