码迷,mamicode.com
首页 > Web开发 > 详细

php是通过什么获取cookie的

时间:2016-11-22 02:29:47      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:absolute   enter   inf   padding   src   tag   http请求   会话   https   

https://segmentfault.com/q/1010000004152987?_ea=550732

$_COOKIE变量是通过读取cookie文件来取得cookie的值吗?

sunshineuuc 2015年12月16日提问
  • 5 关注
 
0
 

$_COOKIE变量是通过读取cookie文件来取得cookie的值吗?将cookie文件删除后为什么$_COOKIE变量的值还存在呢?

 

5个回答

 
4

cookie的产生流程是这样的:服务端设置cookie后,返回给浏览器端,浏览器会将cookie保存在客户端本地,浏览器每次向服务端的http请求,都会带上这个cookie,若客户端删除cookie,则发送给服务端的请求中的cookie就是空的,可以观察下浏览器控制台的requuest_header 中的Cookie 字段

 
0
session_start();
var_dump($_COOKIE);

上面两行代码就开启了会话了。打开chrome开发者模式

技术分享

那么我试着把cookie干掉

技术分享

新的会话。一个sessionID 可以认为是一个会话 会话之间是没啥关系的

还有 $_COOKIE 这个是系统变量。可百度PHP系统变量。好几个,每个变量是存什么的,有什么分工和职责,这个可以去探究下。

 
0

是用户request的header头中的,每次请求都会带上的,

 
0

严格来说不是通过读取文件。

浏览器发送请求的时候会把cookie包含在请求头里:

技术分享

然后服务器端解析这个Cookie头,并存到$_COOKIE变量里。

不过不知道你所谓的删除cookie文件具体是怎么操作的。因为cookie文件被删除了,相当于cookie被清空了,这时候理论上浏览器立刻发送请求时,$_COOKIE应该为空。

 
0

前端可以设置cookie值,发送http请求时,将带上cookie值发送给服务器端
服务端通过读取http请求的头信息,进行记录或进行数据验证,或设置新的cookie
客户端拿到HTTP请求的回复后,会把cookie值通过set-cookie带回
浏览器再把cookie保存到本地cookie文件中~~~

删除本地的cookie文件,并不意味着发送请求的时候没有cookie信息,取决于前端是否针对本次请求是否设置了cookie如果设置过了,请求的时候还是会带上发送给服务器,服务器还是能收到~~~

 

撰写答案

php是通过什么获取cookie的

标签:absolute   enter   inf   padding   src   tag   http请求   会话   https   

原文地址:http://www.cnblogs.com/everest33Tong/p/6087662.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!