zoukankan      html  css  js  c++  java
  • 68 说一下 session 的工作原理?

    说一下 session 的工作原理?

    答:

    session 的工作原理是客户端登录完成之后,服务器会创建对应的 session,session 创建完之后,会把 session 的 id 发送给客户端,客户端再存储到浏览器中。这样客户端每次访问服务器时,都会带着 sessionid,服务器拿到 sessionid 之后,在内存找到与之对应的 session 这样就可以正常工作了。
     

    拓展链接(session小例子)
    上文链接
    session的详细介绍
     

    拓展

    session是什么

    首先,我们需要知道session是什么。有比较专业的人将session称之为会话控制。说实在的,如果这么说的话,我也不清楚session到底算是什么。

    其实session是一个存在服务器上的类似于一个散列表格的文件。里面存有我们需要的信息,在我们需要用的时候可以从里面取出来。类似于一个大号的map吧,里面的键存储的是用户的sessionid,用户向服务器发送请求的时候会带上这个sessionid。这时就可以从中取出对应的值了。

    session有什么用

    说起session的作用,简单的举个例子:我们在登录某些网站的时候,输入了用户名密码,登录以后再打开新的页面时,自动显示的是已登录的状态,不需要再次重新登录。这里就是session功能的一个小小的体现。

    那么,刚才这个小小的应用发生了什么呢?


     

    如图所示:在用户1和用户2登录的时候,我们的服务器在他们登录成功后,在session表中为他们每个用户分配了一个sessionid并且存下了一个对应的信息。当用户第二次访问该服务器的时候,会将sessionid在request请求中携带者发送过去。这时我们的服务器就可以根据sessionid确定用户存储的数据,然后进行使用。如图所示:


     

    session的生命周期

    当session超过一定时间(一般为30分钟)没有被访问时,服务器就会认为这个session对应的客户端已经停止活动,然后将这个session删除。用以节省空间。

    当用户关闭浏览器时,sessionId的信息会丢失,虽然服务器session还在,依然无法访问到session中的数据。
     

  • 相关阅读:
    SpringBoot整合WebSocket的客户端和服务端的实现
    Django实现发送邮件
    Python环境搭建
    Hexo+Gitee搭建个人博客
    Chrome浏览器安装离线插件Markdown Here
    TestLink测试用例管理工具使用说明
    【odoo14】【好书学习】odoo 14 Development Cookbook【目录篇】
    【odoo14】【开发侧】权限配置
    【odoo14】【用户侧】权限配置
    【odoo14】【知识点】视图的继承逻辑
  • 原文地址:https://www.cnblogs.com/ynzj123/p/12979186.html
Copyright © 2011-2022 走看看