zoukankan      html  css  js  c++  java
  • session原理及优劣势

    1.session工作原理

    客户端通过用户名和密码请求服务端,服务端就会生成身份认证相关的session数据,比如用户、用户名等信息来生成一份session数据,会保存在内存里或内存数据库里,并将sessionId通过Set-cookie响应头返回给客户端, 客户端则会把sessionId存在cookie中。此后,客户端发起的所有请求都会带上该sessionId,服务单会通过该sessionId寻找session数据并解析,由此得知当前登录状态有没有登陆,以及有什么权限。

    前端想重新验证退出登陆就可以,后端想重新验证修改下session就行。

    2.session优势

    • 相比JWT,最大优势是可以主动清除session。
    • session保存在服务器端相对安全。
    • 结合cookie使用,较为灵活,兼容性好

    3.session劣势

    • cookie+session在跨域场景很麻烦
    • 如果是分布式部署,需要做多机共享session机制
    • 基于cookie的机制容易被CSRF
    • 查询session信息可能会有数据库查询操作,带来性能问题

    4.session相关概念

    (1)sessionStorage:客户端用于存储变量的,仅在当前会话下有效,关闭页面或浏览器后被清楚

    (2)localStorage:除非被清除,否则永久保存

  • 相关阅读:
    Netty回调与Channel执行流程分析
    Netty执行流程分析与重要组件介绍
    HBase 介绍
    Java文件上传下载原理
    ngxtop安装和使用
    开启Nginx监控 with-http_stub_status_module
    Spring 事务模板方法设计模式
    Spring 事务管理
    JdkDynamicAopProxy 拦截器链的获得与递归执行
    CgLib实现AOP
  • 原文地址:https://www.cnblogs.com/kaiqinzhang/p/12131927.html
Copyright © 2011-2022 走看看