php中http协议之Cookie的归纳总结
http协议 Cookie
cookie保存位置
cookie属性
cookie的缺陷
cookie的使用(php)
cookie注意事项
1. cookie保存位置
Cookie 总是保存在客户端
按保存位置分为:内存cookie和硬盘cookie。
内存cookie由浏览器维护,保存在内存中,浏览器关闭后就消失了,存在时间短。
硬盘cookie保存在硬盘里,有一个过期时间,除非用户手工清理或到了过期时间,不然cookie不会删除。存在时间长。
从时间上分,cookie可以分为:非持久cookie和持久cookie
2.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传输。
3.cookie的缺陷
(1)cookie会被附加在每个HTTP请求中,所以无形中增加了流量。
(2)由于在HTTP请求中的cookie是明文传递的,所以安全性成问题。(除非用HTTPS)
(3)Cookie的大小限制在4KB左右。对于复杂的存储需求来说是不够用的。
4. cookie的使用(php)
基本使用
设置cookie变量:setcookie(名字,值)
取cookie变量:$_COOKIE[‘名字’]
高级使用
1.cookie数据只能是字符串数据
2.setcookie,可以完成增删改,不存在则增加,存在则修改!删可以将值设为空
3.cookie变量的失效期
4.cookie存在有效路径的概念、
5.cookie是严格区分域名的
6.Set-cookie:从服务器端发送给客户端,就是对应的set-cookie
5. cookie注意事项
注意: 当服务器通过Set-cookie第一次发送给客户端时,客户端接受不到该cookie,因为客户端没有再次请求服务器,而set-cookie是通过Response发送给客户端的,只有再次request请求时才能获取到该cookie。
【相关教程推荐】
1. php编程从入门到精通全套视频教程
2. php从入门到精通
3. bootstrap教程