【session】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会因为浏览器的关闭而删除么?
是不会的



作者:GpingFeng
链接:https://www.jianshu.com/p/9ae3f4f4c4f3
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值