zoukankan      html  css  js  c++  java
  • sessionStorage 、localStorage 、 cookie 和session之间的区别

    四者的异同

    特性Session  CookielocalStoragesessionStorage
    数据的生命期   在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用cookie。 一般由服务器生成,可设置失效时间,关闭浏览器后,cookie数据仍然存在,直到过期时间结束才消失。如果在浏览器端生成Cookie,默认是关闭浏览器后失效 除非被清除,否则永久保存 仅在当前会话下有效,关闭页面或浏览器后被清除
    存放数据大小 大小没有限制 4K左右 一般为5MB
    与服务器端通信 由服务器端创建,比cookie安全, Session完全依赖于Cookie,所以cookie的缺点同样是session的缺点 每次都会携带在HTTP头中,如果使用cookie保存过多数据会带来性能问题 仅在客户端(即浏览器)中保存,不参与和服务器的通信

    localStorage和sessionStorage操作

    localStorage和sessionStorage都具有相同的操作方法,例如setItem、getItem和removeItem等

    localStorage和sessionStorage的方法

    setItem存储value

    用途:将value存储到key字段

    sessionStorage.setItem("key", "value");     
    localStorage.setItem("site", "baidu");

    getItem获取value

    用途:获取指定key本地存储的值

    var value = sessionStorage.getItem("key");     
    var site = localStorage.getItem("site");

    removeItem删除key

    用途:删除指定key本地存储的值

    sessionStorage.removeItem("key");     
    localStorage.removeItem("site");

    clear清除所有的key/value

    用途:清除所有的key/value

    sessionStorage.clear();     
    localStorage.clear();

    其他操作方法:点操作和[ ]

    web Storage不但可以用自身的setItem,getItem等方便存取,也可以像普通对象一样用点(.)操作符,及[]的方式进行数据存储,像如下的代码:

    var storage = window.localStorage; 
    storage.key1 = "hello";
    storage["key2"] = "world";
    console.log(storage.key1);
    console.log(storage["key2"]);

    php中Session和Cookie的使用

    session

    sesstion_start(); // 首先开启session

    1>创建和更新

    $_SESSION['user'] = 'username'; // 添加session 把username存在里面

    2>删除session

    // 删除session值,但保留数据类型
    $_session['session键值'] = array();
    // 删除cookie中的session_id
    $session_id = session_name();
    setCookie($session_id,"",time()-1);
    // 释放当前在内存中已经创建的所有$_SESSION变量,但不删除session文件以及不释放对应的session_id
    session_unset();
    // 删除当前用户对应的session文件以及释放session_id,但内存中的$_SESSION变量内容依然保留
    session_destroy();

    3>获取session

    echo $_SESSION['user']; // 直接输出 username

    cookie

    1>创建和更新

    setCookie($cookieName,$value,time()+秒数);
    
    实例:setcookie("UserName","cnblogs",time()+2*7*24*3600);

    2>删除Cookie

    setcookie($cookieName,value,time()-秒数);
    //或者
    setcookie($cookiename, '');
    //或者
    setcookie($cookiename, NULL);
    
    实例:setcookie("UserName","cnblogs",time()-3600);

    3>获取cookie

    $_COOKIE['UserName'];
  • 相关阅读:
    python中文编码
    Python习题纠错1
    Python中的变量
    Python之注释
    python初步学习
    java输入数据并排序
    五月最后一天
    @component注解
    多线程回顾
    赖床分子想改变--
  • 原文地址:https://www.cnblogs.com/qiufang/p/10683613.html
Copyright © 2011-2022 走看看