什么是cookie
cookie是在HTTP协议下,服务器或脚本可以维护客户工作站上信息的一种方式。是一种在远程浏览器端存储数据并以此来跟踪和识别用户的机制。可以将cookie理解为web服务器暂时存储在用户硬盘上的一个文本文件,并随后被web浏览器读取。
cookie的功能
- 记录访客的信息。比如用户访问网页的次数,或者记录访客曾经输入的信息。
- 在页面之间传递变量。
- 将所查看的Internet页存储在cookies临时文件中,可以提高以后浏览的速度。
创建cookie
setcookie(name,value,expire,path,domain,secure)
参数有:name
cookie的变量名value
cookie变量的值,保存在客户端,不能用来存储敏感数据expire
cookie的失效时间path
在服务器端的有效路径domain
cookie的有效域名secure
指明cookie是否仅通过HTTPS,值为0或1。
setcookie("TMCookie",'www.mrbeed.com',time()+3600, "/tm/",”.mrbccd.com",1)
读取cookie
直接通过$_COOKIE[]
来读取浏览器端的cookie值。
可以用isset($_COOKIE[])
来判断是否存在cookie。
删除cookie
-
使用setcookie()函数删除cookie
setcookie("name","",time()-1);
将第二个参数设置为空值,第三个参数即cookie的过期时间设置为小于系统当前时间。 -
在浏览器中手动删除cookie
一般删除浏览器的浏览记录即可。
cookie的生命周期
- 如果不设定时间,即它的生命周期为浏览器会话的期间,只要关闭浏览器,cookie就会自动消失。这种被称为会话cookie,一般保存在内存中。
- 如果设置了过期时间,浏览器会把cookie保存到硬盘上,再次打开浏览器时依然有效,直到它的有效期超时。即使电脑关机,也依然存在。
cookie可以长期保存在客户端浏览器中,但是浏览器最多允许存储300个cookie文件,并且每个cookie文件支持最大容量为4KB,每个域名最多支持20个cookie,如果达到限制时,浏览器会随机删除cookie。