教育行业A股IPO第一股(股票代码 003032)

全国咨询/投诉热线:400-618-4000

Session超时是什么意思?Session超时管理【Web前端培训】

更新时间:2022年12月27日10时17分 来源:传智教育 浏览次数:

好口碑IT培训

  当客户端第一次访问某个能开启会话功能的资源时,Web服务器就会创建一个与该客户端对应的HttpSession对象。在HTTP协议中,Web服务器无法判断当前的客户端浏览器是否还会继续访问,也无法检测客户端浏览器是否关闭,所以,即使客户端已经离开或关闭了浏览器,Web服务器还是会保留与之对应的HttpSession对象。随着时间的推移,这些不再使用的HttpSession对象会在Web服务器中积累得越来越多,从而使Web服务器的内存耗尽。

  为了解决上述问题,Web服务器采用了超时限制的办法判断客户端是否还在继续访问。在一定时间内,如果某个客户端一直没有请求访问,那么Web服务器就会认为该客户端已经结束请求,并且将与该客户端会话所对应的HttpSession对象变成垃圾对象,等待垃圾收集器将其从内存中彻底清除。如果浏览器在超时后再次向服务器发出请求访问,那么Web服务器则会创建一个新的HttpSession对象,并为其分配一个新的ID属性。

  在会话过程中,会话的有效时间可以在web.xml文件中设置,其默认值由Servlet容器定义。在Timecat安装目录的conf文件夹下的web.xml文件中,可以找到如下一段配置信息:

<session-config>
    <session-timeout>30</session-timeout>
</session-config>

  在上面的配置信息中,设置的时间值以分钟为单位,即Tomcat服务器的默认会话超时间隔为30分钟。如果将session-timeout元素中的时间值设置成0或一个负数,则表示会话永不超时。由于Tomcat安装目录\conf\web.xml文件对站点内的所有Web应用程序都起作用,因此,如果想单独设置某个Web应用程序的会话超时间隔,则需要在相应项目的web.xml文件中进行设置。

0 分享到:
和我们在线交谈!