HTTP 会话究竟如何工作以及在什么情况下会过期(在 Laravel 中)?
How does an HTTP session exactly work and in what cases does it expire (in Laravel)?
我正在创建一个 Laravel 应用程序,我正在尝试掌握 HTTP 会话的概念。我注意到我在基本层面上并没有真正理解它(例如 究竟发生了什么 )。
在 Internet 上,除了一些基本内容(获取和检索数据,以及一些其他常见内容)外,可用的信息不多。
我想更好地理解它,所以如果有人可以为我澄清以下内容,那将非常有帮助:
- 什么是一个会话?驱动程序是什么意思?
(Laravel 提供:“文件”、“cookie”、“数据库”、“apc”、“memcached”、
“redis”、“dynamodb”、“array”。)当我选择 e
file
vs cookie
时 会发生什么?
- 会话过期是什么意思?是当用户导航离开时,还是仅在浏览器中的特定时间?例如。如果我在入职期间将用户重定向到一些 OAuth,这是否意味着会话是否过期?
非常感谢!
如您所见,session
取决于您选择的driver
,同时您可以select超时以及config\session.php
。
在Cookie
的情况下,会话将在两种情况下过期:
- 一旦 cookie expired/deleted.
- 或
(current_time - cookie_creation_time) > session_timeout
设置在session.php
.
在所有驱动程序中,有一个共同点:每当您访问该网站并向服务器发出请求时,它会添加上次访问时间并从那里计算会话超时。
当用户从浏览器导航并且 cookie 仍然存在且未过期时,将识别用户并且会话将保持不变。
我希望它更清楚...如果没有,请告诉我。我会分享一些例子。
我正在创建一个 Laravel 应用程序,我正在尝试掌握 HTTP 会话的概念。我注意到我在基本层面上并没有真正理解它(例如 究竟发生了什么 )。
在 Internet 上,除了一些基本内容(获取和检索数据,以及一些其他常见内容)外,可用的信息不多。
我想更好地理解它,所以如果有人可以为我澄清以下内容,那将非常有帮助:
- 什么是一个会话?驱动程序是什么意思?
(Laravel 提供:“文件”、“cookie”、“数据库”、“apc”、“memcached”、
“redis”、“dynamodb”、“array”。)当我选择 e
file
vscookie
时 会发生什么? - 会话过期是什么意思?是当用户导航离开时,还是仅在浏览器中的特定时间?例如。如果我在入职期间将用户重定向到一些 OAuth,这是否意味着会话是否过期?
非常感谢!
如您所见,session
取决于您选择的driver
,同时您可以select超时以及config\session.php
。
在Cookie
的情况下,会话将在两种情况下过期:
- 一旦 cookie expired/deleted.
- 或
(current_time - cookie_creation_time) > session_timeout
设置在session.php
.
在所有驱动程序中,有一个共同点:每当您访问该网站并向服务器发出请求时,它会添加上次访问时间并从那里计算会话超时。
当用户从浏览器导航并且 cookie 仍然存在且未过期时,将识别用户并且会话将保持不变。
我希望它更清楚...如果没有,请告诉我。我会分享一些例子。