解析session和cookie

  1. 为什么需要sessioncookie
  2. sessioncookie的特点
  3. sessioncookie的实现原理详解
  4. session为什么比cookie安全
  5. 接口如何处理sessioncookie

sessioncookie的特点

  • sessioncookie都是由服务器生成的
  • 都是键值对应的,用来存储特定的业务的值
  • cookie会返回给客户端,由客户端自己保存
  • session会存储在服务器端,但sessionID(是服务器端用来存储session值的对象的ID/识别码,不是session值)会通过cookie的形式(set-cookie响应头)返回给客户端。
  • sessioncookie都是有其生命周期的
    客户端在发送请求的时候,会自动给将客户端所持有的、存活的cookie封装在请求头中一起发送给服务器。
    • cookie生命周期:一般受2个因素的影响
      (客户端自身是否保存cookie只对客户端自身有影响,对于其他工具没有影响)
      • 服务器生成cookie时所指定的存活周期
      • 客户端自己是否保存cookie
    • session生命周期:一般受2个因素的影响
      (客户端进程关闭只对客户端自身有影响,对于其他工具没有影响)
      • 服务器对于session对象的存活设置
      • 客户端进程是否关闭
    • sessioncookie都有其作用域
  • 为什么session比cookie安全?
    • 因为cookie直接将cookie值返回给客户端,由客户端自行保存。对于客户来说,cookie是可见的,具有破解的可能性。
    • session存储于服务器,客户端拿到的仅是一个无意义的随机的sessionID值,用户根据sessionID无法知道服务器如何进行数据的校验,校验逻辑也是不可推测的。
    • 应用:
      • 在功能测试中,要求敏感的数据不通过cookie实现状态记录,安全级别高的业务也不能通过cookie实现状态记录。
  • 状态记录的原理
    • 状态记录一定和两个请求有关
      • 请求A:用来获取状态,所谓状态就是一段由服务器生成的数据。
        • 服务器返回状态值的方式,常见的有:
          • session
          • cookie
          • token
          • Basic Authourization
          • 表单数据,body中的某个数据
      • 请求B:会提交状态数据,服务器端收到请求B之后,会对状态数据进行校验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值