教程集 www.jiaochengji.com
教程集 >  脚本编程  >  php  >  正文 cookie与session区别和关系

cookie与session区别和关系

发布时间:2019-01-31   编辑:jiaochengji.com
教程集为您提供cookie与session区别和关系等资源,欢迎您收藏本站,我们将为您提供最新的cookie与session区别和关系资源
分享一篇关于cookie和session区别详细说明的文章,有需要的朋友可以参考一下,很有价值的一篇文章。
cookie 常用于识别用户。cookie 是服务器留在用户计算机中的小文件。每当相同的计算机通过浏览器请求页面时,它同时会发送 cookie。通过 PHP,您能够创建并取回 cookie 的值。
PHP用SetCookie函数来设置Cookie。
SetCookie函数定义了一个Cookie,并且把它附加在HTTP头的后面,SetCookie函数的原型如下:
int SetCookie(string name, string value, int expire, string path, string domain, int secure);
参数说明:cookie名称,cookie值,过期时间(int),有效路径,有限域名,httsss
2、接收和处理Cookie
用户端与服务端的web通信协议是http。而PHP通过http取得用户数据惯用的三种方法分别是:POST方法、GET方法还有Cookie。而PHP默认传递方法正是Cookie,也是最佳方法。
比如设置一个名为MyCookier的Cookie,PHP会自动从WEB服务器接收的HTTP头里把它分析出来,并形成一个与普通变量一样的变量,名为$myCookie,这个变量的值就是Cookie的值
3,删除Cookie
 
要删除一个已经存在的Cookie,有两个办法:
<ol> <li>一是调用只带有name参数的SetCookie,那么名为这个name的Cookie将被从关系户机上删掉;例如:setcookie('name',''); </li> <li>另一个办法是设置Cookie的失效时间为time()或time()-1,那么这个Cookie在这个页面的浏览完之后就被删除了(其实是失效了)。 例如:setcookie('name','PHP淮北',time()-24*60*60);
     要注意的是,当一个Cookie被删除时,它的值在当前页在仍然有效的。 
</li> </ol>
使用Cookie的注意事项:
<ol> <ol> <li>首先是必须在HTML文件的内容输出之前设置(Cookie是HTTP协议头的一部分,用于浏览器和服务器之间传递信息,所以必须在任何属于HTML文件本身的内容输出之前调用Cookie函数。 </li> </ol> </ol>
在PHP页面可以先使用
ob_start();//开启
code…..
ob_end_flush(); //刷新缓存
可以防止header提示错误);
<ol> <li>不同的浏览器对Cookie的处理机制不一样 </li> <li>cookie限制是在客户端的。一个浏览器能创建的Cookie数量最多为30个,并且每个不能超过4KB,每个WEB站点能设置的Cookie总数不能超过20个。 </li> <li>当前设置的Cookie不是立即生效的,而是要等到下一个页面时才能看到 </li> </ol>
Session介绍
session机制是一种服务器端的机制,服务器使用一种类似于散列表的结构(也可能就是使用散列表)来保存信息,每一个网站访客都会被分配给一个唯一的标志符,即会话ID,它的存放形式无非两种:要么经过url传递,要么保存在客户端的Cookies里.当然,你也可以将Session保存到QQ截图20111115173320
上图:左侧是保存在xammp/tmp/下的session文件,内容是PHP序列化的格式
右侧:第一行是echo serialize($_SESSION['name']);//序列化
第二行是打印session值
*****************其中文件名是session-name,内容是PHP序列化的格式
 
cookie与session的区别和关系
<ul> <li>
存储位置:
</li> </ul> <ol> <ol> <li>session存储在服务器位置上,可以通过php.ini里面配置session相关配置 </li> <li>cookie存储在客户端上的上(其实可以分两种: </li> </ol> </ol>
1,持久性cookie,设置了cookie的时间,以文件方式存在硬盘上,
2,会话cookie,没有设置cookie时间,cookie的生命周期也就是关闭浏览器前就消失,一般不会保存在硬盘,而是保存在内存上)
cookie和session的关系
QQ截图20111115185617
从上面的图可以看到:
cookie通过http报头发送:
[关闭]
~ ~