session是一种服务器端用于存储有关用户会话信息的机制,服务器使用一种类似于散列表的结构,也可能就是使用散列表,来保存信息.
当程序需要为某个客户端的请求创建一个session的时候,服务器首先会检查这个客户端是否已经包含了一个session标识,这个我们称为sessionid(获取方法为session_id()),如果已包含一个sessionid则说明此客户端之前已经创建过session,服务器则按照sessionid把这个session中的值检索出来,如果客户端不包含sessionid,说明此客户端第一次请求服务器或手动清除过缓存文件,则为此客户端创建一个session并且生成一个与此session相关联的sessionid,一般来说,sessionid的值是不会重复的,并且加密的字符串,这个sessionid将被在本次响应中返回给客户端保存.
session在何时被创建?
通常(是指通常)是在浏览器向服务器端第一次请求时被创建,并且它会占用一定的内存空间,因此在不必要的情况下,尽最关闭session.
session何时被删除
通常情况下,session在会在这几种情况下被删除,一是使用session_destroy()重置函数手动删除,二是session的上次活动时间距离当前时间的间隔超过了session的超时设置的时间,三是服务器进程被停止.
怎么在浏览器关闭时删除session
理论上来说,是做不到这一点,北京中科白癜风医院北京治白癜风的医院哪家比较好