Cookie&Session的工作原理和区别

本文详细介绍了Cookie和Session这两种常见的会话管理技术。Cookie是一种浏览器端的技术,用于存储会话数据,而Session则是服务器端的技术,用于跟踪用户的会话状态。文章还探讨了它们的工作流程、注意事项以及生命周期。

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

Cookie:浏览器端的会话技术

  • 作用:将会话中产生的数据存放在浏览器端
工作流程
  • 浏览器访问服务器时,服务器生成cookie(键值对形式),通过响应(响应头 set-cookie)返回给浏览器,cookie保存在浏览器上.
  • 下次访问服务器的时候,根据一定的规则携带不同的cookie
    将cookie装在请求头中带到服务器上
  • 注意事项
    • cookie不能跨浏览器
    • cookie中不能放中文

    Session:服务器端的会话技术

    作用:

    • 在服务器上存放一次会话中的数据
    工作流程
    • 浏览器访问服务器时,服务器会获取浏览器的数据,判断浏览器是否携带了sessionID
      • 如果没带:
        如果没带,且想使用session,需要先创建session(服务器端的内存空间,由服务器创建),这样以来就可以使用这个session了,使用完毕后将sessionID返回给浏览器,由浏览器保存sessionID(依赖Cookie)
      • 如果带了:
        如果带了,服务器要先获取sessionID,根据sessionID找到这个session
        • 没找到:
          想使用session,需要先创建session(服务器端的内存空间,由服务器创建),这样以来就可以使用这个session了,使用完毕后将sessionID返回给浏览器,由浏览器保存sessionID(依赖Cookie)
        • 找到
          直接操作session

Session

  • 生命周期
    • 创建:调用request.getSession()时
    • 销毁:
      • 服务器非正常关闭
      • Session超时
      • 手动销毁
        • 调用invalidate方法
  • 作用范围:一次会话
  • 作用:存放私有的数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值