Session浅谈

作者: 程序员Anthony | 来源:发表于2018-02-07 16:31 被阅读55次

什么是session

session就是一块在服务器端开辟的内存空间,就好比客户在服务器端的账户,它们被服务器保存到一个Map中,这个Map被称之为session缓存。session的作用是来跟踪用户的操作状态。

Session网站登录中的使用

sessionId是由服务器创建针对用户(客户端)的,一个用户是一个sessionId,这也就是常用的登录注销处理的原因,对于同一个用户对同一个服务器的访问,会在session中设置一个key value,这样,就算是不同帐号登录,那也只是不同key,而不会是不同session。

Session和Cookie的主要区别

Cookie是把用户的数据写给用户的浏览器
Session技术把用户的数据写到用户独占的session中。
Session对象由服务器创建,开发人员可以调用request对象的getSession方法得到session对象。

session在何时被创建

一个常见的误解是以为session在有客户端访问时就被创建,然而事实是直到某server端程序调用HttpServletRequest.getSession(true)这样的语句时才被创建,注意如果JSP没有显示的使用 <%@page session="false"%> 关闭session,则JSP文件在编译成Servlet时将会自动加上这样一条语句HttpSession session = HttpServletRequest.getSession(true);这也是JSP中隐含的session对象的来历。
由于session会消耗内存资源,因此,如果不打算使用session,应该在所有的JSP中关闭它。

session何时被删除

综合前面的讨论,session在下列情况下被删除a.程序调用HttpSession.invalidate();或b.距离上一次收到客户端发送的session id时间间隔超过了session的超时设置;或c.服务器进程被停止(非持久session)

如何做到在浏览器关闭时删除session

严格的讲,做不到这一点。可以做一点努力的办法是在所有的客户端页面里使用javascript代码window.oncolose来监视浏览器的关闭动作,然后向服务器发送一个请求来删除session。但是对于浏览器崩溃或者强行杀死进程这些非常规手段仍然无能为力。

参考链接

Session机制详解

相关文章

  • 浅谈Session

    一. Session技术

  • Session浅谈

    什么是session session就是一块在服务器端开辟的内存空间,就好比客户在服务器端的账户,它们被服务器保存...

  • 浅谈Session技术

    引入 因为Cookie有局限性,比如只能存非中文,容量限制等.详情可以看我的上一篇文章浅谈Cookie技术. 但是...

  • 浅谈session,cookie,sessionStorage,

    浏览器的缓存机制提供了可以将用户数据存储在客户端上的方式,可以利用cookie,session等跟服务端进行数据交...

  • 浅谈COOKIE与SESSION

    1 cookie 在网络上指小量信息,用来识别用户 2 各大浏览器每个域名大概有50个,每个4097字节,IE有2...

  • 浅谈cookie和session

    相关视频:v.qq.com/x/page/f0513vvyti4.html PPT:ptteng.github.i...

  • cookie,session,token浅谈

    发展史 1、很久很久以前,Web基本上就是文档的浏览而已,既然是浏览,作为服务器,不需要记录谁在某一段时间里都浏览...

  • 浅谈session,cookie,sessionStorage,

    浏览器的缓存机制提供了可以将用户数据存储在客户端上的方式,可以利用cookie,session等跟服务端进行数据交...

  • 浅谈cookie,session,token

    Cookie cookie 是一个非常具体的东西,指的就是浏览器里面能永久存储的一种数据,仅仅是浏览器实现的一种数...

  • 浅谈COOKIE 与 SESSION 区别

    1. 存储位置不同 Session 存储在服务器。 Cookie存储在客户端(本地)。 2. 服务器压力不同 Se...

网友评论

    本文标题:Session浅谈

    本文链接:https://www.haomeiwen.com/subject/vwbizxtx.html