• 我以前不知道的 Session


    之前只知道 Session 是服务器与客户端的一个会话,有默认过期时间,是服务器端的技术,与之对应的是 Cookie 技术,是客户端技术。

    下面的几点是之前不知道的:【或者是忘了】

    1 . Session是什么时候创建的?

    2 . SessionId的组成?

    3 . Session存储在哪里?

    回答上面的问题:

    1 .  在 Java中,Session是在调用 HttpServletRequest实例的 getSession()时创建的【不同语言会有不同时机的创建】,

    2 .  Session 创建的时候服务器为其生成了一个唯一的 Session Id , 在这个 Session 销毁之前 , 同一个浏览器在多次请求中,因为 Session Id是同一个,所以 Session一直都是同一个。这个 Session Id会被以 Cookie的形式写到浏览器端的一个文本文件中,然后这个 Session Id的组成是:随机数+时间+JvmId。

    3 . Session的存储:Session默认是存储在服务器的内存中,但是也可以使用其他的存储形式,比如持久化到数据库【sql 和 nosql】中,文件中,还有其他的方式实现分布式的 Session,当 Session 到期时,或被删除,或程序关闭,Session的生命就结束了。

    注:

    浏览器关闭并不会删除 Session除非在代码中删除,或者超时,或程序被关闭,或服务器挂了。

  • 相关阅读:
    第二章 java内存区域与内存溢出异常
    TCP实现可靠传输
    Tomcat的类加载架构
    浅析Synchronized
    设计数据库
    http和https
    IOC容器的依赖注入
    IOC容器初始化
    深入理解Java内存模型
    单例应该这么写
  • 原文地址:https://www.cnblogs.com/daimajun/p/7152584.html
Copyright © 2020-2023  润新知