php----http协议 Cookie

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php----http协议 Cookie相关的知识,希望对你有一定的参考价值。

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


本文出自 “Joxiong” 博客,请务必保留此出处http://joxiong.blog.51cto.com/9068286/1740339

以上是关于php----http协议 Cookie的主要内容,如果未能解决你的问题,请参考以下文章

深入浅出web服务

PHP HTTP 函数

PHP实现http与https转化

php [PHP] HTTP或HTTPS

php php http到https

PHP PHP HTTP POST图像和文件