您的位置:首页>互联 >

全球聚焦:session的生命周期是多久_session的生命周期

2023-06-27 22:52:40    来源:互联网

1、会话的工作原理


(相关资料图)

2、(1)首次启用会话时,唯一标识符存储在本地cookie中。

3、(2)首先使用session_start()函数,PHP从会话库中加载存储的会话变量。

4、(3)执行PHP脚本时,使用session_register()函数注册session变量。

5、(PHP脚本执行结束时,未销毁的会话变量会自动保存在本地会话库中的某个路径下,该路径可以通过php.ini文件中的session.save_path指定。

6、您可以加载它,并在下次浏览网页时使用它。

7、会话存储在服务器端。一般来说,为了防止它被存储在服务器的内存中(为了高速访问),在用户第一次访问服务器时会创建Sessinon。需要注意的是,只有在访问JSP、Servlet等程序时,才会创建会话。

8、仅访问静态资源(如HTML和图像)不会创建会话。您可以调用request.getSession(true)来强制生成会话。

9、销毁会话只有两种方法:第一,会话调用session.invalidate()方法。第二,之前和之后的请求超过了会话指定的生命周期时间。可以在web.xml中配置会话的生命周期时间。默认时间为30分钟,可以在web.xml中进行以下配置:

10、session-configsession-timeout5/session-timeout/session-config

11、会话对浏览器的要求:

12、虽然会话存储在服务器中,并且对客户端是透明的,但是它的正常操作仍然需要客户端浏览器的支持。这是因为会话需要使用Cookie作为识别标记。HTTP协议是无状态的,

13、Session无法根据HTTP连接判断是否是同一客户,于是服务器向客户端浏览器发送一个名为JSESSIONID的Cookie。

14、它的值是会话的id(即HttpSession.getId()的返回值)。会话使用这个Cookie来识别它是否是同一用户。

15、这个Cookie是服务器自动生成的,它的maxAge属性一般是-1,也就是说它只在当前浏览器中有效,不在浏览器窗口间共享,所以关闭浏览器会无效。因此,当同一台机器的两个浏览器窗口访问服务器时,

16、生成了两个不同会话。链接、脚本等打开的新窗口除外。在浏览器窗口(即双击桌面浏览器图标等不打开的窗口。).这样的子窗口共享父窗口的Cookie,所以它们共享一个会话。

本文到此结束,希望对大家有所帮助。

关键词:

相关阅读