zoukankan      html  css  js  c++  java
  • 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中的数据。

  • 相关阅读:
    如何添加和删除本地存储中的数据?
    本地存储和cookies之间的区别是什么?
    那么如何使用WebSQL?
    WebSQL是HTML 5规范的一部分吗?
    WebSQL是什么?
    什么是本地存储的生命周期?
    本地存储和cookies之间的区别是什么?
    什么是多线程中的上下文切换?
    web workers是什么,为什么我们需要web workers?
    连接点?
  • 原文地址:https://www.cnblogs.com/liyasong/p/6387833.html
Copyright © 2011-2022 走看看