cookie和session区别

一、什么是Cookie
Cookie 是在HTTP协议下,服务器或脚本可以维护客户工作站上信息的一种方式。Cookie 是由 Web服务器保存在用户浏览器(客户端)上的小文本文件(内容通常经过加密),它可以包含有关用户的信息。无论何时用户链接到服务器,Web站点都可以访问Cookie 信息,可以看作是浏览器缓存.
二、什么是Session
Session的定义很抽象,在不同的场合中session一词的含义也很不相同.它可以代表服务器与浏览器的一次会话过程,指从一个浏览器窗口打开到关闭的这个期间.也可以用于指一类用来在客户端与服务器之间保持状态的解决方案。

三、cookie和session区别:
1、数据存放位置不同:
cookie数据存放在客户的浏览器上,session数据放在服务器上。
2、安全程度不同:
cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,考虑到安全应当使用session。
3、性能使用程度不同:
session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用cookie。
4、数据存储大小不同:
单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie,而session则存储与服务端,浏览器对其没有限制。

5、会话机制不同:
session会话机制:session会话机制是一种服务器端机制,它使用类似于哈希表(可能还有哈希表)的结构来保存信息。
cookies会话机制:cookie是服务器存储在本地计算机上的小块文本,并随每个请求发送到同一服务器。 Web服务器使用HTTP标头将cookie发送到客户端。在客户端终端,浏览器解析cookie并将其保存为本地文件,该文件自动将来自同一服务器的任何请求绑定到这些cookie。

<?php
session_start();
$_SESSION['a']='admin';
// 登录时判断是否登录过
if($_COOKIE['admin']){
    //页面跳转
    header('location:sumer.php');
}
//登录成功设置cookie
if($_POST){
   $unama=time($_POST['unama']);
   $pasd=md5($_POST['pasd']);

   if($unama=='zhangsan'||$pasd=='d41d8cd98f00b204e9800998ecf8427e'){
       //设置cookie
    setcookie('admin','admin',time()+3600);
    header('location:sumer.php');
   }else{
       echo '用户名错误';
   }
}
?>
<?php
session_start();
var_dump($_SESSION);
//没有登录成功
if(!$_COOKIE['admin']){
    //页面跳转
    header('location:index.php');
}
?>
posted @ 2020-08-04 16:16  summer°  阅读(342)  评论(0编辑  收藏  举报