您的位置:首页 > 理论基础 > 计算机网络

php----http协议 Cookie

2016-02-01 11:04 274 查看
Cookie 总是保存在客户端,按保存位置分为:内存cookie和硬盘cookie。
1.内存cookie由浏览器维护,保存在内存中,浏览器关闭后就消失了,存在时间短。
2.硬盘cookie保存在硬盘里,有一个过期时间,除非用户手工清理或到了过期时间,不然cookie不会删除。存在时间长。
从时间上分,cookie可以分为:非持久cookie和持久cookie

Cookie的属性:
Domain:域,表示当前cookie所属于域或子域
对于服务器返回的set-cookie中,如果没有指定Domain,那么其Domain的值是默认为当前所提交的http的请求所对应的主域名。
Path:cookie路径
Expire time/Max-age: 表示cookie的有效期。
如果服务器返回的cookie,没有指定其expire time,那么表面当前cookie的有效期就是当前的session。对应的当该页面关闭时,此cookie就被删除了。
Secure:只能用https传输。用于传输包含认证信息的cookie
Httponly:表示此cookie必须用于http或https传输。

Cookie的缺陷:
(1)cookie会被附加在每个HTTP请求中,所以无形中增加了流量。
(2)由于在HTTP请求中的cookie是明文传递的,所以安全性成问题。(除非用HTTPS)
(3)Cookie的大小限制在4KB左右。对于复杂的存储需求来说是不够用的。

Cookie的基本使用(php):
设置cookie变量:setcookie(名字,值)



取cookie变量:$_COOKIE['名字']









Cookie的高级使用:
1.cookie数据只能是字符串数据

2.setcookie,可以完成增删改,不存在则增加,存在则修改!删可以将值设为空

3.cookie变量的失效期




4.cookie存在有效路径的概念、

5.cookie是严格区分域名的

6.Set-cookie:从服务器端发送给客户端,就是对应的set-cookie
当服务器通过Set-cookie第一次发送给客户端时,客户端接受不到该cookie,因为客户端没有再次请求服务器,而set-cookie是通过Response发送给客户端的,只有再次request请求时才能获取到该cookie。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  cookie