gpt4 book ai didi

php - 在后续页面加载之前,新创建的 cookie 是否不可用?

转载 作者:行者123 更新时间:2023-12-03 02:25:41 25 4
gpt4 key购买 nike

当我第一次创建 cookie 时,我似乎无法获取相同的 cookie,直到后续页面加载。就好像 cookie 对于浏览器来说并不存在,直到第二次请求该页面为止。

我正在使用 Kohana PHP 框架:

Cookie::set('new_cookie', 'I am a cookie');
$cookie = Cookie::get('new_cookie');
//$cookie is NULL the first time this code is run. If I hit the page again
and then call Cookie:get('new_cookie'), the cookie's value is read just fine.

所以,我相信这是正常行为,而且我可能不明白 cookie 是如何工作的。谁能帮我澄清一下吗?

最佳答案

Cookies 设置在 HTTP header 中,因此当服务器返回页面时。当您重新加载页面时,您的浏览器会将它们发送回服务器。

因此,它们在新请求后“可见”是完全正常的。

以下是来自服务器的响应示例:

HTTP/1.1 200 OK
Content-type: text/html
Set-Cookie: name=value
Set-Cookie: name2=value2; Expires=Wed, 09-Jun-2021 10:18:14 GMT

(content of page)

当您重新加载页面时,您的浏览器会发送以下内容:

GET / HTTP/1.1
Host: www.example.org
Cookie: name=value; name2=value2
Accept: */*

这就是为什么服务器只有在浏览器发出新请求后才能看到它们。

关于php - 在后续页面加载之前,新创建的 cookie 是否不可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13707721/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com