大家好,小评来为大家解答以上问题。session生命周期是什么,session的生命周期很多人还不知道,现在让我们一起来看看吧!
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,所以它们共享一个会话。
本文到此结束,希望对大家有所帮助。