cookie、session原理,以及如何使用chrome查看。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
cookie、session原理,以及如何使⽤chrome查看。
⼀、cookie、session 在chrome浏览器⾥如何显⽰的。
1. php源码:
<?php
$cookieDomain = '';
setcookie('elf', 'im elf cookie', time()+300, '/', $cookieDomain);
setcookie('aaa', 'aaaa', time()+10);
2. chrome效果
解释:头⽂件中request headers表⽰浏览器向服务器发送的包头,告诉服务器我这边的信息,顺带带上我所有的cookie(⽆论你是否请求cookie,只要是本域名下和本域名的主域名下的cookie都返回)。
response headers表⽰服务器返回给浏览器的包头,其中set-cookie表⽰服务器说“喂,浏览器,给我写⼊这些cookie到你本地去”。
同理下图可以查看cookie。
注意上⾯两张图,没有PHPSESSID这个cookie哟。
3. 修改服务器代码如下:
session_start();
echo 'cookie';
var_dump($_COOKIE);
4. 第⼀次刷新浏览器
5. 第⼆次刷新浏览器
两次刷新略有不同,
第⼀次刷新:
客户端没有任何cookie给服务器,
服务器运⾏代码session_start后,会⾃动⽣成⼀个session id,存放在cookie⾥,该cookie的key默认是PHPSESSID,value就是session id。
所以服务器告诉客户端,“喂,给我set⼀个cookie,key是。
value是。
”
第⼆次刷新:
客户端把上⼀步⽣成的cookie带给服务器,也就是PHPSESSID=sjb2vafon1qi710hav8r8j5jl6这个⿁。
服务器虽然有session_start代码,但是已经⽣成了⼀个了,所以没有关于cookie的操作。
备注:关于session id的⽣成,上⾯已经说了,session_start时⾃动⽣成,每个服务器对应每个浏览器的域名(和是不同域名)⽣成唯⼀⼀个,当浏览器关闭时,该session id失效,运⾏session_start会重新⽣成⼀个不同的session id存放在本地key为PHPSESSID的cookie⾥⾯。
关于session的数据,是存放在该web服务器⾥⾯的(默认/tmp⽬录),使⽤$_SESSION命令取session数据时,服务器会⾃动根据session id 去找对应的session数据。
⼆、cookie和session的⼀个⼩区别。