cookie技术
原理:
COOKIE技术:服务器将数据通过HTTP
响应存储到浏览器上,浏览器可以在以后携带对应的COOKIE
数据访问服务器。
1、第一次请求时,PHP通过
setcookie
函数将数据通过http协议响应头传输给浏览器
2、浏览器在第一次响应的时候将Cookie
数据保存到浏览器
3、浏览器后续请求同一个网站的时候,会自动检测是否存在Cookie
数据,如果存在将在请求头中将数据携带到服务器
4、PHP执行的时候会自动判断浏览器请求中是否携带Cookie,如果写到,自动保存到$_COOKIE
中
5、利用$_COOKIE
访问Cookie
数据
cookie语法:
//①设置cookie
Setcookie('name',$value,$time);
//参数说明:
name:字符串
$value :数值或字符串
$time :生命周期
例如:
Setcookie(‘a2’,’a2’,7*24*60*60);格 Setcookie(‘a1’,’a1’);浏览器关闭 失效
//林威治时间开始7天过期 失效
Setcookie(‘a1’,’a1’,time() + 7*24*60*60); //是指从现在开始7天后失效
Setcookie(‘a1’,’a1’,0); //会话结束时过期
//② 读取cookie
使用 $COOKIE() 读取 //返回数组格式
/③删除cookie
Setcookie('name', ''); //清空cookie内容
Setcookie('a3' , 'a3 ' , time() ); //设定时间戳
cookie 的高级使用
作用范围:不同的文件夹层级中,设定的COOKIE默认是在不同的文件夹下有访问限制。上层文件夹中设定的COOKIE可以在下层(子文件夹)中访问,而子文件夹中设定的COOKIE不能在上层文件夹中访问。
session技术
两种会话技术的区别:
- 存储位置及安全性
1)session存储在服务器端,安全性高
2)cookie存储在浏览器端,安全性低- 存储数据大小
1)cookie存储的数据大小有限制(不能大于2k)
2)session 存储的数据没有限制- 可用的数据类型
1)cookie只能存储简单的数据类型(数值/字符串) 2)session任何数据类型都可以存储
cookie可以被人为的禁止
cookie可以被人为的禁止,必须有其他机制以便在cookie被禁止时仍然能够把session
id传递回服务器。经常被使用的一种技术叫做URL重写,就是把session
id直接附加在URL路径的后面,附加方式也有两种,
一种是作为URL路径的附加信息,表现形式为http://...../xxx;jsessionid = session_id()
另外:可是使用get的方式将session_id();传递给前台