本地存储:把一些信息存储到客户端本地(主要目的有很多,其中有一个就是实现多页面之间的信息共享)
 
    1. 离线缓存(xxx.manifest)  H5处理离线缓存还是存在一些硬伤的,所以真实项目中一般还是传统的NATIVE APP来完成这件事情
    2. localStorage / sessionStorage:H5中新增加的API,基于这个API可以把一些数据缓存到客户端本地 (常用)
    3. IndexedDB / webSQL :本地数据库存储
    4. Cookie:本地信息存储(常用)
    5. CacheStorage / ApplicationCache:本地缓存存储

 
用到本地存储的地方:
   [页面之间信息的通信]
       A存储信息,B页面中可以获取
       1. 登录
       2. 记住用户名密码(或者自动登录)
       3. 购物车
       4. 跳转到其它页面,返回上级页面的时候停留在之前最后一次
 
我们来看看本地存储cookie和服务端session的具体做法及使用场景

[做一些性能优化]
       把一些不经常改变的数据,在第一次从服务器端获取到之后,存储到客户端本地(记录一个存储时间),假设我们设置有效存储期是10分钟,那么10分钟以内,我们再刷新页面,就不用再向服务器发送请求了,直接从本地数据中获取展示即可;超过10分钟,从新向服务器发送请求,请求回来最新数据参考第一次,也一样存储到本地中...
       1. 可减轻服务器压力
       2. 对于不经常更新的数据我们可以把存储周期设置的长一些,有助于页面第二次加载的时候,渲染的速度(移动端经常做这些事情)
 
localStorage VS cookie
      [cookie]
         1.兼容所有的浏览器
         2.有存储的大小限制,一般一个源(一个域下)只能存储4KB内容
         3.cookie有过期时间(当然我们自己可以手动设置这个时间)
         4.杀毒软件或者浏览器的垃圾清理都可能会把cookie信息强制清除掉
         5.在隐私或者无痕浏览模式下,是不记录cookie的
         6.cookie不是严格的本地存储,因为要和服务器之间来回传输
      [localStorage]
         1.不兼容IE8及以下
         2.也有存储的大小限制,一个源下最多只能存储5MB左右
         3.本地永久存储,只要你不手动删除,永远存储在本地(但是我们可以基于API  removeItem/clear手动清除一些自己想要删除的信息)
         4.杀毒软件或者浏览器的垃圾清理暂时不会清除localStorage(新版本谷歌浏览器会清除localStorage等信息)
         5.在隐私或者无痕浏览模式下,是记录localStorage的
         6.localStorage和服务器没有半毛钱关系

  

      真实项目中使用本地存储来完成一些需求的情况不是很多,一般都是基于服务器的session或者数据库存储完成的(服务器的session和本地的cookie是有关联的),如果不考虑兼容,就想基于本地存储来完成一些事情,那么一般都是用localStorage的(尤其是移动端开发)
      localStorage.setItem([key],[value]):[value]必须是字符串格式的(即使写的不是字符串,也会默认转换为字符串)
      localStorage.getItem([key]):通过属性名获取存储的信息
      localStorage.removeItem([key]):删除指定的存储信息
      localStorage.clear():清除当前域下存储的所有信息
      localStorage.key(0):基于索引获取指定的KEY名
      document.cookie='';//=>设置cookie

本地存储常用方式 localStorage, sessionStorage,cookie 的区别 和 服务器存储session的更多相关文章

  1. localstorage sessionstorage cookie的区别

    一.基本概念 Cookie cookie比较小,大小限制在4kb左右,是网景公司的前雇员 LouMontulli 在1993年3月的发明.它的主要用途有保存登录信息,比如你登录某个网站市场可以看到“记 ...

  2. 客户端 localStorage, sessionStorage, cookie 的区别

    SessionStorage, LocalStorage, Cookie这三者都可以被用来在浏览器端存储数据,而且都是字符串类型的键值对! 区别在于前两者属于WebStorage,创建它们的目的便是存 ...

  3. localStorage sessionStorage cookie indexedDB

    目录: localStorage sessionStorage cookie indexedDB localStorage localStorage存储的数据能在跨浏览器会话保留 数据可以长期保留,关 ...

  4. cookie和session,sessionStorage、localStorage和cookie的区别

    1.cookie 含义: 存储在访问者的计算机中的变量,即存储在客户端 创建一个cookie /* getCookie方法判断document.cookie对象中是否存有cookie,若有则判断该co ...

  5. localStorage,sessionStorage,cookie使用场景和区别

    localStorage:HTML5新增的在浏览器端存储数据的方法.设置和获取localStorage的方法: 设置: localStorage.name = 'zjj'; 获取: localStor ...

  6. localStorage,sessionStorage,cookie区别

    localStorage:HTML5新增的在浏览器端存储数据的方法.设置和获取localStorage的方法: 设置: localStorage.name = 'zjj'; 获取: localStor ...

  7. localStorage&sessionStorage&Cookie

    localStorage.sessionStorage.Cookie三者区别如下:

  8. [转]session和cookie的区别和联系,session的生命周期,多个服务部署时session管理

    Session和Cookie的区别 对象 信息量大小 保存时间 应用范围 保存位置 Session 小量,简单的数据 用户活动时间+一段延迟时间(一般为20分钟) 单个用户 服务器端 Cookie 小 ...

  9. 本地存储 localStorage/sessionStorage/cookie

    cookie是个基础的东西.是服务器发送到客户端,存储在客户端的一小段数据.可以存储一些配置信息,客户标识信息等.用户下次访问这个网站时,会把上次网站发来的cookie一同发送回去.cookie保存在 ...

随机推荐

  1. C#3种常见的定时器(多线程)

    总结以下三种方法,实现c#每隔一段时间执行代码: 方法一:调用线程执行方法,在方法中实现死循环,每个循环Sleep设定时间: 方法二:使用System.Timers.Timer类: 方法三:使用Sys ...

  2. (JavaScript) JS方式调用POS机蓝牙打印

    function print(mac_address) { if (!mac_address) { mui.toast('请选择蓝牙打印机'); return; } main = plus.andro ...

  3. 深入理解Kafka必知必会(上)

    Kafka的用途有哪些?使用场景如何? 消息系统: Kafka 和传统的消息系统(也称作消息中间件)都具备系统解耦.冗余存储.流量削峰.缓冲.异步通信.扩展性.可恢复性等功能.与此同时,Kafka 还 ...

  4. 【XSY2495】余数

    Input Output Input 3 4 Output 4 HINT 原式 =n*m-n除以i向下取整 用数论分块做就可以了 #include<bits/stdc++.h> #defi ...

  5. 最新开源JavaScript 图表库 ECharts推荐

    ECharts是一款由百度前端技术部开发的,基于Javascript的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表. ECharts 提供大量常用的数据可视化图表,底层基于Z ...

  6. day1-python条件语句和基本数据类型

    一.if 条件语句 1. if 条件语句 if 条件: 代码块 else: 代码块 2. if 支持嵌套 if 1 == 1: if 2 == 2: print("欢迎进入blog1&quo ...

  7. 私有git搭建

    Git简介(目前世界上最先进的分布式版本控制系统) 那什么是版本控制系统? 你可以把一个版本控制系统(缩写VCS)理解为一个特殊的“数据库”,在需要的时候,它可以帮你完整地保存一个项目的快照.当你需要 ...

  8. window中php的交互模式

    1.配置php的环境变量: 测试: cmd >> php --version 2.在cmd下编写测试脚本 1)  php -r  + php测试代码: 2) php -a + Enter  ...

  9. Nginx做缓存服务器

    Nginx做缓存服务器 Nginx配置 1.主配置/etc/nginx/nginx.conf worker_processes 1; events { worker_connections 1024; ...

  10. C语言程序设计100例之(14):丑数

    例14   丑数 问题描述 丑数是其质因子只可能是2,3或5的数.前10个丑数分别为1, 2, 3, 4, 5, 6, 8, 9, 10, 12.输入一个正整数n,求第n个丑数. 输入格式 每行为一个 ...