• js学习之存储


    一、Cookie和Session的区别
    1、cookie数据存放在客户的浏览器上,session数据放在服务器上(一般以内存、数据库、文件形式)。
    2、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能 考虑到减轻服务器性能方面,应当使用Cookie;
    3、单个cookie保存的数据不能超过4K,Session没有大小限制;
    总结:Session是在服务端保存的一个数据结构,用来跟踪用户的状态,这个数据可以保存在内存,集群、数据库、文件中;
    Cookie是客户端保存用户信息的一种机制,用来记录用户的一些信息,也是实现Session的一种方式。




    二、cookie 、localStorage 、sessionStorage 的区别?
     
    1、cookie
    数据的生命期: 一般由服务器生成,可设置失效时间。如果在浏览器端生成Cookie,默认是关闭浏览器后失效
    存放数据大小: 4K左右
    与服务器端通信:每次都会携带在HTTP头中,如果使用cookie保存过多数据会带来性能问题易用性
    易用性:需要程序员自己封装,源生的Cookie接口不友好



    2、localStorage 数据的生命期:除非被清除,否则永久保存
    sessionStorage 数据的生命期:仅在当前会话下有效,关闭页面或浏览器后被清除
    存放数据大小: 一般为5MB
    与服务器端通信:仅在客户端(即浏览器)中保存,不参与和服务器的通信
    易用性:源生接口可以接受,亦可再次封装来对Object和Array有更好的支持



    setItem存储value
    sessionStorage.setItem("key", "value"): localStorage.setItem("site", "js8.in");
    getItem获取value
    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();
    localStorage和sessionStorage的key和length属性实现遍历 sessionStorage和localStorage提供的key()和length可以方便的实现存储的数据遍历,例如下面的代码:
    var storage = window.localStorage;
    for(var i=0, len=storage.length; i<len;i++){
      var key = storage.key(i);
      var value = storage.getItem(key);
      console.log(key + "=" + value);
    }
    3、作用域不同
    sessionStorage不在不同的浏览器窗口中共享,即使是同一个页面;
    localStorage 在所有同源窗口(域名、协议、端口相同)中都是共享的;
    cookie也是在所有同源窗口中都是共享的。
     
  • 相关阅读:
    java.lang.IllegalArgumentException: No converter found for return value of type: class XXX.XXXX
    关于websocket集群中不同服务器的用户间通讯问题
    JavaScript中 location.host 与 location.hostname 的区别
    Spring在代码中获取bean的几种方式
    在websocket中怎么样注入service类
    阿里云上部署kafka--遇到的坑
    linux系统部署Java程序获取ip时报Caused by: java.net.UnknownHostException: XXXXXXXXXX: XXXXXXXXXX: Name or service not known
    解决bash: mysql: command not found 的方法
    Nginx的启动、停止与重启
    Java8:Lambda表达式增强版Comparator和排序
  • 原文地址:https://www.cnblogs.com/zjz666/p/11381278.html
Copyright © 2020-2023  润新知