Session

Session 是一种服务器端的对象,保存在服务器中。 每个Session 有一个唯一的SessionID。 Session的超时也是由服务器来控制。

至于你说的关闭浏览器Session就结束了,其实你看到的是表面现象。Session 并不一定结束了。只是新打开的浏览器找不到原来的SessionID,从而找不到原来的Session。 服务器又给他分配了一个新的Session而已。

会话结束的两种情况: 服务端的session超时,这时候会话结束。 用户把客户端的cookie给清除了。
至于其中实现的原理,关键是: 第一次请求的时候,服务器告诉浏览器一个关于Session的唯一性标识, 接下来每次请求的时候浏览器要将Session的唯一性标识告诉服务器。当浏览器关闭的时候,这个唯一性标识就销毁了。当然服务器有其独特的算法来验证这个标识。 至于这个标识如何在浏览器和服务器之间传递,有不同的方法。一种放在Http请求的Http头里面,实际也是一种Cookie,有的放在Url上面,作为参数传递给服务器

PHP中默认24分钟

session其实指的就是访问者从到达某个特定主页到离开为止的那段时间。 Session其实是利用Cookie进行信息处理的,当用户首先进行了请求后,服务端就在用户浏览器上创建了一个Cookie,当这个Session结束时,其实就是意味着这个Cookie就过期了。
cookie和session的共同之处在于:cookie和session都是用来跟踪浏览器用户身份的会话方式。
cookie 和session的区别是:cookie数据保存在客户端,session数据保存在服务器端。

原文地址:https://www.cnblogs.com/it-Ren/p/10658011.html