代码改变世界

Cookie学习笔记

2013-11-23 19:20  hduhans  阅读(156)  评论(0)    收藏  举报

  Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是浏览器设置为启用cookie)。

  php设置cookie的方法:setcookie(name,value,expire,path,domain,secure),后六个都可省略,如setCookie("name","hans",time()+3600);  --设置cookie一个小时有效。

  php获取cookie的方法:$_COOKIE['name']

  php更新cookie的方法: setCookie方法,即重新设值

  php删除cookie的方法:① 删除某个值:setCookie("name","",time()-200)   --只要时间是当前时间减去某个正数,即cookie失效

             ② 删除所有值:foreach($_COOKIE as $key=>$value){ setCookie($key,"",time()-200) }    --遍历删除所有cookie

  浏览器服务器cookie交互的过程:

  1) 浏览器访问某个页面,服务器在http响应中增加设置cookie的内容,如Set-Cookie: name=hduhans; expires=Sat, 23-Nov-2013 10:31:40 GMT

  2) 浏览器接收到http响应,根据Set-Cookie中相关参数将对应的cookie内容保存在本地硬盘中,地址一般默认为 ① XP系统: C:\Documents and Settings\Administrator\Cookies。② Win7系统 C:\Users\admin\AppData\Roaming\Microsoft\Windows\Cookies

  3) 当浏览器再次访问该站点的页面时,就会发送本地硬盘中的cookie信息给服务器,如:Cookie: name=hduhans

  4) 服务器接收cookie参数,验证用户信息。

  注:① cookie可以设置多个键值对,且每个键值对的有效时间可以不一致。

    ② cookie可以保存中文,为防止空格,默认会urlencode后保存。