Web 会话何时开始和结束


When does a web session start and end?

这更像是一个概念性问题。 但是我想知道使用 PHP 时网络会话何时开始和结束。 我很确定会话在用户首次请求具有 session_start() 函数的任何页面时开始。 但是,当用户导航到同一选项卡中的另一个页面时,会话会结束吗? 同一会话是否保留在同一浏览器的多个选项卡和窗口中? 要在浏览器关闭后保留会话,您是否必须使用 Cookie?

  1. 会话从第一个session_start()开始
  2. 会话在session.gc_maxlifetime和/或session.cookie_lifetime和/或更多与PHP的会话垃圾收集器有关的事情后结束。
  3. Cookie 是使用会话所必需的,因为 PHP 设置了一个包含用户 SESSID 的 cookie,并且浏览器会在每次请求时自动将其发回。
    • 您可以删除此 Cookie,这会撤销您对会话的访问权限,但从技术上讲,您的会话数据仍然存在,直到超时到期并且垃圾回收器运行。

参考