session和session_id的理解

什么是session

session用来追踪每个用户的会话。使用服务器生成的session_id进行标识,用来区别用户。

session存放在哪里

session存放在服务器的内存中,session_id存放在服务器内存以及客户机中的cookie中

session_id与session有什么用

当用户发送请求的时候,服务器将用户cookie里面记录的session_id和服务器内存中存放的session_id进行比对,从而找到用户相对应的session进行操作。

所以,如果客户端禁止了cookie的话,那么session也就没有办法使用。

session的创建

session是在服务器端程序运行的过程中创建的,不同的语言实现的应用程序创建session的方法不同,比如在Java中我们是通过调用HttpServletRequest的getSession方法(使用true作为参数)创建的。

在创建session的时候,服务器也会为该session创建唯一的session_id,而这个session_id在随后的请求中可以用来重新获取已经创建了的session。

在session创建完成之后,就可以调用session相关的方法往session中增加内容了。但是这些内容只会保存在服务器内存中,只有session_id被发送到了客户端。

删除

session会在以下的情况中被删除

  • 超时
  • 程序中调用HttpSession.invalidate()
  • 程序关闭

程序的session会因为浏览器的关闭而删除么?
是不会的

参考:
https://www.cnblogs.com/woshimrf/p/5317776.html

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Se...
    chinariver阅读 5,690评论 1 49
  • 目录Cookie机制什么是CookieCookie的不可跨域名性Unicode编码:保存中文BASE64编码:保存...
    Tomatoro阅读 16,983评论 7 186
  • 转自 :http://blog.csdn.net/taoff/articles/1921009.aspx 一、术语...
    stone_yao阅读 6,273评论 0 31
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,382评论 11 349
  • 今天办了八个件,解管了两个客户。 先是去绿地新都会收了一个件,是和副总经理,收完聊了一会去红专路又收了一个,兰德中...
    翻滚吧海阔天空阅读 189评论 0 1