setcookie刷新后才生效问题

实验

首先,设置一个Cookie

<?php  

setcookie('','aaa',time()+3600,'/');

echo $_COOKIE['a']; 

?> 

下面我们来看看,当首次(当前页面)访问此页面时,会报错:


微信图片_20190801103719.png

分析

那么为什么会报Undefined错误呢

①首次访问【未刷新】

我们来看看首次访问时页面响应头信息,发现

[响应头信息]中增加Set-Coookie参数,但[请求头信息]中没有Cookie参数

②>1次访问[刷新过]

我们来看第二次访问时页面显示结果:


微信图片_20190801103443.png

发现Cookie的值显示在了页面上。这时我们再来看看[响应头]和[请求头]信息,此时请求头信息中多了参数Cookie

总结Cookie设置生效过程

当我们首次访问设置Cookie的页面时,服务器会把设置的Cookie值通过响应头发送过来,告诉浏览器将cookie存储的本地相应文件夹中(注意:第一次访问时本地还没有存储Cookie,所以此时获取不到值);

当第二次访问(或在进行cookie设置后,过期前所有的访问)时,请求头信息你中都会把Cookie值携带。

下面用图片更加形象的演示Cookie设置生效过程


20171110195541080.png

版权声明:
作者:超级管理员
链接: https://apecloud.ltd/article/detail.html?id=49
来源:猿码云个人技术站
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
/static/admin/img/weixin.jpg/static/admin/img/zfb.jpg
<<上一篇>
Composer 国内加速,修改镜像源
下一篇>>