<?php
echo 'test';
就这样一个简单的php文件,我们来查看cookie的变化。
打开浏览器调试工具后,先清除之前的cookie,然后反复刷新页面,发现都没有新的cookie。
我们把test.php 代码修改如下:
<?php
session_start();
再去浏览器调试工具里查看有没有cookie?
可以看到,现在就有了(反复刷新浏览器,value值也不变化)。
思考: 我们没有在代码中做任何cookie的操作,为什么会生成cookie呢?
我们再修改test.php的代码如下:
<?php
//session_start();
if (!isset($_COOKIE['CLIENT_ID'])){ //如果没有就设置
setcookie('CLIENT_ID',uniqid());
}
通过浏览器调试工具,我们发现这样实现了和session_start() 类似的功能。
其实session的原理,就是利用cookie在把信息保存在了本地(windows系统的temp目录中),做到了同一个域内共享。
如果禁用了cookie,那么session也用不了。
本文通过实例演示了PHP中Session和Cookie的工作原理。通过对比Session启动前后Cookie的变化,揭示了Session依赖Cookie实现会话跟踪的机制,并展示了如何手动设置Cookie以达到类似效果。
8706

被折叠的 条评论
为什么被折叠?



