Cookie,session 的区别

Cookie,session 的区别

COOKIE:服务器产生,存储在客户端的一段信息。

原生设置获取方式

setcookie('test', 'abcdefg', 3600, '', '.gj.com');
$a = $_COOKIE['test'];
var_dump(
$a);exit;

 

通过浏览器查看:

Cookie,session 的区别

由此可见:cookie 实现了浏览器与服务器之间的会话。但不安全。

特点:

  1. cookie 存储在客户端,浏览器允许存放300个cookie,每个cookie大小4KB, 一定场景下满足需求,减轻服务器负载。
  2. cookie浏览器内置,使用方便,有效期内,只要不清空都存在。
  3. cookie非可执行文件,向服务器传输不存在安全隐患。
  4. 有些用户在浏览器设置禁止cookie,禁止情况下不可使用。

 

Cookie的销毁方式:

setcookie('test', '', time()-10);//把有效时间设置成小于当前时间

$a = $_COOKIE['test'];

var_dump($a);exit;

 

 

Session:

设置及获取方式:

$_SESSION['test']='hello bawei';

$a = $_SESSION['test'];

var_dump($a);exit;

 

通过浏览器查看:

 

Cookie,session 的区别

由此可见:我们设置的变量和值是不可见的。比cookie更安全。

特点:

Session会将产生的信息存储在服务器端,提高了安全性。服务器生成session后,客户端会生成一个sessionid识别号保存在客户端,数据请求时浏览器会发送这个数据给服务器。即使客户端禁止了cookie,可以通过url附加参数或隐含在表单中提交来传送。

  1. session 不依赖于客户端设置
  2. session存储在服务器端,更加安全
  3. session会占用服务器资源,加大服务器负载,并发用户多时,大量session会影响服务器性能。

 

销毁session:

$_SESSION['test']='hello bawei';

session_start();

session_destroy();

$a = $_SESSION['test'];

var_dump($a);exit;