sessionid、token、jwt之sessionid篇

sessionid、token、jwt之sessionid篇

作为前端,你是不是很好奇后端是如何处理用户登陆的。今天我找后端大佬们咨询了相关知识,先用代码简单演示一下sessionId的登录流程。有错误的地方欢迎大佬们在评论区里指正,大家相互学习。

服务端登录模块

  • 登录失效或未登录
  • 登录,浏览器输入http://localhost:8888/SpringSession/login
  • 服务器创建sessionid,sessionid作为key,session作为value。
  • 服务器返回响应数据,响应头cookie携带sessionid,浏览器写入sessionid。如下图所示:
  • 登录响应头

    浏览器存储sessionid

    • 已登录且登录未失效,
  • 登录,浏览器输入http://localhost:8888/SpringSession/login,请求头cookie自动携带sessionid。
  • 服务器通过请求信息获取到sessionid,由于服务器内存中已有该sessionid,无需重复创建sessionid,直接返回数据,响应头里不用设置sessionid。请求如下图所示:
  • 已登录用户重复登录演示

    浏览器访问用户信息时,请求头自动携带sessionid,服务器通过sessionid获取对应的session。如下图所示:

    后端获取用户信息模块

    浏览器访问用户信息

    • sessionid的局限性
  • 浏览器禁用cookie,服务器无法写入cookie缓存sessionid。
  • 随着移动互联网的兴起,移动设备没有cookie,服务器无法将sessionid写入cookie。
  • 当然,客户端存储sessionid、请求可以换其他方式处理。如服务器将sessionid放在响应体返回,客户端手动存储sessionid,请求数据请求头携带sessionid。我们常用的token差不多就是按这种方式处理,下一篇给大家演示token的登录流程。

    在此感谢小鲜肉、奶爸阿强、奶爸小强提供技术指导!

    郑重声明:本文内容及图片均整理自互联网,不代表本站立场,版权归原作者所有,如有侵权请联系管理员(admin#wlmqw.com)删除。
    上一篇 2022年6月18日 12:01
    下一篇 2022年6月18日 12:01

    相关推荐

    联系我们

    联系邮箱:admin#wlmqw.com
    工作时间:周一至周五,10:30-18:30,节假日休息