首页  >  文章  >  后端开发  >  什么是cookie.session ?他们之间的区别是?(详细介绍)

什么是cookie.session ?他们之间的区别是?(详细介绍)

慕斯
慕斯原创
2021-06-07 13:50:042522浏览

上篇文章给大家介绍了《为什么PHP会有安全性问题?本质以及安全问题三要素是什么?》,本文继续给大家介绍什cookie.session ?他们之间的区别是?一起来研究吧!!!

什么是cookie.session ?他们之间的区别是?(详细介绍)

什么是cookie、session ?

  • cookie :存储在用户端的一-小段文本,用于服务器识别用户的一种技术。

  • session :基于cookie,只是数据不存储在客户端,改为存储在服务器端,用户端只存储一个id ,也称为session id ,服务器可以根据这个session. id找到该用户的信息。

我们了解http协议是一种无状态的协议,当我们浏览网站的时候,后端是如何知道用户端的信息的?因此,我们就可以使用以上两种方式(cookie、session)

cookie、session 的区别是什么?

  具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案.同时我们也看到,由于采用服务器端保持状态的方案在客户端也需要保存一个标识,所以session机制可能需要借助于cookie机制来达到保存标识的目的,但实际上它还有其他选择.
   cookie机制.正统的cookie分发是通过扩展HTTP协议来实现的,服务器通过在HTTP的响应头中加上一行特殊的指示以提示浏览器按照指示生成相应的cookie.然而纯粹的客户端脚本如JavaScript或者VBScript也可以生成cookie.而cookie的使用是由浏览器按照一定的原则在后台自动发送给服务器的.浏览器检查所有存储的cookie,如果某个cookie所声明的作用范围大于等于将要请求的资源所在的位置,则把该cookie附在请求资源的HTTP请求头上发送给服务器.
   cookie的内容主要包括:名字,值,过期时间,路径和域.路径与域一起构成cookie的作用范围.若不设置过期时间,则表示这个cookie的生命期为浏览器会话期间,关闭浏览器窗口,cookie就消失.这种生命期为浏览器会话期的cookie被称为会话cookie.会话cookie一般不存储在硬盘上而是保存在内存里,当然这种行为并不是规范规定的.若设置了过期时间,浏览器就会把cookie保存到硬盘上,关闭后再次打开浏览器,这些cookie仍然有效直到超过设定的过期时间.存储在硬盘上的cookie可以在不同的浏览器进程间共享,比如两个IE窗口.而对于保存在内存里的cookie,不同的浏览器有不同的处理方式

(cookie)具体代码为例:

<?php 
//setcookie(&#39;tittle&#39;,&#39;答案很长,我准备用一生的时间来回答,你准备要听了吗?&#39;);
echo $_COOKIE[&#39;tittle&#39;];
?>

代码解释:

首先先设置一个cookie函数,可以使用setcookie函数,当我们设置完cookie函数以后如何把他取出来?由代码可知,我们可以使用$_cookie[],但是当我们去执行此代码,结果显示,没有此标题(代码结果如下所示),当我们注释掉setcookie时,执行代码显示出,我们所输入的结果,(如下所示),

什么是cookie.session ?他们之间的区别是?(详细介绍)

什么是cookie.session ?他们之间的区别是?(详细介绍)

(session)代码:

<?php 
//setcookie( &#39;title&#39;, &#39;www. php.cn&#39;);
//echo $_ COOKIE[ &#39;title&#39;];
// session
session_start();
$_SESSION[ &#39;user&#39;] = array( &#39;uid&#39;=>1, &#39;name&#39;=>&#39;张三&#39; , &#39; age&#39;=>18);
echo &#39;<pre class="brush:php;toolbar:false">&#39; ;
print_r($_SESSION[ &#39;user&#39;]);
?>

代码结果如下所示:

36.JPG

推荐学习:《PHP视频教程

以上是什么是cookie.session ?他们之间的区别是?(详细介绍)的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn