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'];
  • 相关阅读:
    Oracle 推出 ODAC for Entity Framework 和 LINQ to Entities Beta版
    Entity Framework Feature CTP 5系列文章
    MonoDroid相关资源
    MSDN杂志上的Windows Phone相关文章
    微软学Android Market推出 Web Windows Phone Marketplace
    使用 Visual Studio Agent 2010 进行负载压力测试的安装指南
    MonoMac 1.0正式发布
    Shawn Wildermuth的《Architecting WP7 》系列文章
    使用.NET Mobile API即51Degrees.mobi检测UserAgent
    MongoDB 客户端 MongoVue
  • 原文地址:https://www.cnblogs.com/qiufang/p/10683613.html
Copyright © 2011-2022 走看看