[网络]session概要

1 Session概要

1.1 发明原因

由于Http是无状态协议,http访问建立的是短连接。也就是说,用户从A页面跳转到B页面会重新发送一次HTTP请求,而服务端在返回响应的时候是无法获知该用户在请求B页面之前做了什么的。1为了解决这个问题,session应运而生。

1.2 生成时间

当用户首次通过浏览器访问服务器时,服务器会创建一个session,并把sessionId返回给用户(每个session都有一个sessionId与之对应),浏览器将sessionid保存在cookie中,当用户再次访问服务器时,会携带sessionid,服务器会验证sessionId来实现状态保持。

1.2 保存位置

服务端:以Java为例,用户在访问服务器HttpServletRequest的getSession(true)时,session被创建,并存储在服务器的内存中,当然也可以持久化到文件、数据库、memcache、redis中。
tomcat的ManagerBase类提供创建sessionid的方法:随机数+时间+jvmid。

客户端:sessionid保存在cookie中。

1.3 关闭时机

关闭浏览器并不会关闭session,只有invalidate或登录超时session才会销毁。


  1. 来源:晋哥哥, 《大话session》,博客中国↩︎

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值