Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Cookie将如何保持会话状态?_Php_Session_Cookies_Session State - Fatal编程技术网

Php Cookie将如何保持会话状态?

Php Cookie将如何保持会话状态?,php,session,cookies,session-state,Php,Session,Cookies,Session State,Cookie允许应用程序存储少量文本数据(通常, Web客户端上的4-6kB)。Cookie有许多可能的用途,尽管 最常见的是维护会话状态。Cookie通常由服务器使用响应头设置,然后由客户端作为请求头提供 这是zce学习指南 我的问题是 1. how a session state is maintained by cookie? 2. what happens to these cookies when we use session_destroy()? 非常简短: 创建一个会话id,在每

Cookie允许应用程序存储少量文本数据(通常, Web客户端上的4-6kB)。Cookie有许多可能的用途,尽管 最常见的是维护会话状态。Cookie通常由服务器使用响应头设置,然后由客户端作为请求头提供

这是zce学习指南

我的问题是

1. how a session state is maintained by cookie?
2. what happens to these cookies when we use session_destroy()?
非常简短:

创建一个会话id,在每次请求时发送给客户端,该id存储在通常称为PHPSESSID的cookie中。客户端使用此会话id进行响应,以告知服务器它属于哪个会话


会话_destroy只会取消设置数据,而不会取消设置标识。因此,使用该方法不会触动cookies

简单地说,会话cookie会在您浏览给定站点时将远程会话绑定到浏览器。它包含一个字符串,通常沿
PHPSESSID=3432dfgdfgf43523
行,远程服务器将其标识为正在管理的会话

从PHP网站:

访问您的网站的访问者将被分配一个唯一的id,即 所谓的会话id。它存储在用户的cookie中 在URL中传播边或

会话支持允许您在中的请求之间存储数据 $\u会话超全局数组。当访问者访问您的站点时,PHP 将自动检查(如果session.auto_start设置为1)或打开 您的请求(显式通过会话\ u start()或隐式通过 session_register())是否发送了特定的会话id 请求。如果是这种情况,则先前保存的环境为 重新创建

调用
session\u destroy()
时,它的行为与您预期的不太一样。会话被远程销毁,但本地cookie未被删除。要做到这一点,您需要使用负日期调用
setcookie()
,以便在客户端销毁它。同样,从PHP网站:

会话_destroy()销毁与当前会话关联的所有数据 一场它不会取消设置与关联的任何全局变量 或取消设置会话cookie。使用会话变量的步骤 同样,必须调用session_start()

为了完全终止会话(如注销用户) 会话id也必须取消设置。如果使用cookie来传播 会话id(默认行为),则会话cookie必须为 删除。setcookie()可用于此目的


这在手册中有很好的介绍:+1对于上面的评论,您真的应该搜索一下。因此,当我们请求页面时,所有cookie都将通过请求标题发送到服务器,只有标识符,而不是cookies。:)所以,当我们请求页面时,所有这些cookie都将通过请求头发送到服务器