请问一下session过期时间是怎样算的

技术传播 2009-04-10 04:41:35
JSP中的如果在代码中定义 session.setMaxTimeout(20)
过期时间为20分钟。那是从什么时候开始计算这个时间的呀?
...全文
409 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
thumb3344 2009-04-11
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 legend_len 的回复:]
session与cookies不是不同的概念么~?
session是会话级阿~
cookies是客户端的耶~~
7L~~?
[/Quote]
对啊,是不同概念。浏览器是可以在客户端创建cookie,服务器端就正好利用这个来实现session机制。

这是我第一次访问mail.sina.com.cn的时候,服务返回给我的cookie:

SINA_NEWS_CUSTOMIZE_city=%u7518%u8083; vjuids=5721cd638.11e6dc22e6e.0.1d385e22c5561; vjlast=1239379837
,1239380142,10; __utma=269849203.129301036.1231154992.1231154992.1231154992.1; __utmz=269849203.1231154992
.1.1.utmccn=(organic)|utmcsr=google|utmctr=%E6%88%BF%E5%9C%B0%E4%BA%A7+%E5%AE%A3%E4%BC%A0%E8%AF%AD|utmcmd
=organic; loginType=freemail; URL_MAIL_3IN1=http://mail3-104.sinamail.sina.com.cn/; sina_free_mail_lver
=riaagentv0; sina_free_mail_kodo=on; SINAGLOBAL=118.181.29.141.134581230174205670





legend_len 2009-04-11
  • 打赏
  • 举报
回复
session与cookies不是不同的概念么~?
session是会话级阿~
cookies是客户端的耶~~
7L~~?
qingting2016 2009-04-11
  • 打赏
  • 举报
回复
session好像是从没有对session进行操作吧,也就是没有往里边存值或取值开始算的
ZiSheng 2009-04-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 aifenghkebao 的回复:]
服务器 的SESSION实现代码
[/Quote]
LZ你的这些代码是在哪看到的??
Defonds 2009-04-11
  • 打赏
  • 举报
回复
mark,关注下
leedasha 2009-04-11
  • 打赏
  • 举报
回复
最后一次请求时间与当前时间的相隔,超过指定时间就算是超时了
huxhuxx 2009-04-10
  • 打赏
  • 举报
回复
..
ChDw 2009-04-10
  • 打赏
  • 举报
回复
是最后一次请求时间与当前时间的相隔,超过指定时间就算是超时了
nerain 2009-04-10
  • 打赏
  • 举报
回复
session被创建开始,同意一楼意见
thumb3344 2009-04-10
  • 打赏
  • 举报
回复
楼主可以网上搜一下session相关的原理,大致是这样的:
当client首次访问server端的时候,服务器端会给浏览器返回一个值保存在cookie里面,以后浏览器再次访问的时候,都会用带个这个cookie值。这就相当于一个门卡,要是有了这张门卡,服务器端就认为你已经登记过了。要是没有,就重新登记一下。
lovingpig 2009-04-10
  • 打赏
  • 举报
回复
应该都一样的
niuxinlong 2009-04-10
  • 打赏
  • 举报
回复
session过期是根据用户操作完成之后开始计算的
比方说,session过期时间是半小时,用户一进行操作session就重新开始计时,从本次操作之后还有半小时session才会过期。
yangfeitarena 2009-04-10
  • 打赏
  • 举报
回复
在次页面被请求访问或者说调用时计算.
技术传播 2009-04-10
  • 打赏
  • 举报
回复
再问一个问题:IIS、Resin、Tomcat这些服务器实现 SESSION 机制等原理是一样的吗?
lovingpig 2009-04-10
  • 打赏
  • 举报
回复
当一个值被存到Session中后开始计算, 当中如果这个session被操作到的话比如取值 刷新值 时间就要从新计算
技术传播 2009-04-10
  • 打赏
  • 举报
回复
我现在想了一下应该是从服务器创建了这个SESSION开始的这一刻。
因为 服务器 的SESSION实现代码是这样的
def touch(self):
# called by server - don't call yourself
self.lastused=time.time()
self.new=False
self.timeout=False
在初始化的时候就会调用此方法、得到lastused这个值。然后
判断过期是:
def isOverAged(self):
return (time.time()-self.lastused)>self.timeoutsecs
表示当创建了SESSION的时候 到现在的时间如果超过了 超时值就示 为过期了

81,111

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧