关于对cookie的认识,一直都是停留在 百度百科 或者一些别人写的帖子上,自己从未深入的理解,今天决定来好好探索
1. Cookie是什么?
Cookie 是由 Web 服务器保存在用户客户端上的小文本文件,它可以包含有关用户的信息。无论何时用户链接到服务器,Web 站点都可以访问 Cookie 信息。
Cookie 是存储于访问者的计算机中的变量。每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie。你可以使用 JavaScript 来创建和取回 cookie 的值。
这里你可能会存在一个疑问:"无论何时用户链接到服务器,Web 站点都可以访问 Cookie 信息"该作何理解?暂且将这个问题放一放
2.如何设置Cookie?
1)客户端
<script type="text/javascript"> /** * name: 键 * value: 值 * expire: 过期时间(天) */ function setCookie(name, value, expire) { var exdate = new Date(); exdate.setDate(exdate.getDate()+expire); document.cookie = name + "=" + escape(value) + ((expire===undefined) ? "" : ";expires="+exdate.toGMTString()) } setCookie('name', 'gaoxiong', 10);//设置有效期为10天,键为name,值为gaoxiong </script>
2)服务端(以PHP为例)
<?php # 语法: setcookie(name, value, expire, path, domain); setcookie('user', 'gaoxiong', time()+3600); ?>
3.Cookie工作原理
一般来说,Cookie通过HTTP Headers从服务器端返回到浏览器上
以第2点为例,在grovefun.com/basic/index.php文件上设置该cookie:
第一步:服务端设置的cookie会在响应头上体现出来
第二步:浏览器将响应头中的cookie存在本地:
当浏览器再次请求时就会在请求头上携带该站点下的所有Cookie,从而完成验证
如何在服务端获取客户端的Cookie?在PHP中Cookie被保存在$_COOKIE数组中。