php会话机制总结
1 什么是会话
web中的会话实际上是指浏览器和web服务器之间的会话,形象一点:就好比两个人进行一段对话。
2 php会话机制工作原理
当浏览器向服务器发送URL请求,服务器会生成一个会话ID,并将浏览器端的一些信息保存在服务器端,然后将会话ID送到浏览器端保存到cookie里,当浏览器再次向服务器发送请求时会将cookie里的会话ID一并发送给服务器,服务器会将接收到的会话ID和服务器里的ID比较,如果相同服务器就认定是一次会话,就可以找到本次会话中保存的信息。
2.1 会话的启动和终结
启动会话在服务器端进行,需要在php脚本的开始处进行session_start(),也可以在php.ini里进行配置session.auto_start=1,但是不推荐此种做法。销毁会话有两种方法,一种是在浏览器端,一种是在服务器端。在浏览器端销毁会话就是将浏览器端的会话ID信息清除,一般来说关闭浏览器后cookie里的信息会消失,当然不同的浏览器都会有默认的设置,可以手动修改也可以通过js来清除cookie信息。在服务器端销毁会话有两种方案,一种是调用unset(session变量)清除保存在服务器端的信息,当所有的session信息都清除后调用session_destroy()销毁会话ID。另外一种是通过设置session超时来实现的。
3 会话机制中需要注意的几点
3.1 启动会话
在脚本执行结束后,session信息会被冻结,需要重新启动才能继续使用session信息。