为什么会引入Storage(sessionStorage,localStorage,globalStorage)

Web storage的目的是克服由cookie带来的限制,当数据需要严格控制在客户端上时,无须持续将数据发回服务器。主要是提供一种在cookie之外存储会话数据的途径和提供一种可以大量跨会话存在的数据机制;sessionStorage 对象应该主要用于仅针对会话的小段数据的存储。如果需要跨越会话存储数据, 那么 localStorage 更为合适。

Storage介绍

对于 localStorage 而言,大多数桌面浏览器会设置每个来源 5MB 的限制。Chrome 和 Safari 对每 个来源的限制是 2.5MB。而 iOS 版 Safari 和 Android 版 WebKit 的限制也是 2.5MB。

对 sessionStorage 的限制也是因浏览器而异。有的浏览器对 sessionStorage 的大小没有限制, 但 Chrome、Safari、iOS 版 Safari 和 Android 版 WebKit 都有限制,也都是 2.5MB。IE8+和 Opera 对 sessionStorage 的限制是 5MB

sessionStorage介绍

sessionStorage对象存储特定某个会话的数据(绑定于某个服务器的会话),即该数据只保存到浏览器关闭(cookie也是会话级别); 存储在seesionStorage中的数据可以跨越页面刷新页面存在,

localStorage介绍

要访问同一个localStoarge对象,页面必须来自同一个域名(子域名无效),使用同一种 协议,在同一个端口上。

Storage底层原理

sessionStorage:将数据保存在session对象中。所谓session,是指用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,session对象可用来保存在这段时间内所要求保存的任何数据.

localStorage:将数据保存在客户端本地的硬件设备(磁盘文件)中,即使浏览器关闭了,该数据仍然存在,下次打开浏览器访问网站时仍然可用 永久保存,除非程序或人工删除,没有过期时间.

Storage的特点

(1)都会在浏览器端保存,有大小限制,同源限制;

(2) sessionStorage在(会话级别)窗口关闭前有效;localStorage持久化的本地存储除非用户主动删除数据,否则数据是永远不会过期的;

(3)sessionStorage不能共享,localStorage在同源文档之间共享;

(4)对于localstorage而言,大多数桌面的浏览器都会设置来源5MB的限制,chorme和Safari对每个来源的限制是2.5MB;对于sessionStorage的限制也是因为浏览器而异,有的浏览器对sessionStage的大小是没有限制的,但chrome,safari都是2.5MB.

(5)只能存储字符串 (JSON.stringify() 对象-->字符串(JSON.parse() 字符串-->对象)

Storage的优点

相比 cookie ,Web Storage 的优点主要表现在存储空间更大,可存储的内容更大。cookie每次都随请求数据发送到服务器端,Web Storage不会和请求数据一同发送到服务器端,占用带宽更少

Storage的缺点

现在所有浏览器都支持 cookie 操作,而只有现在浏览器才支持 Web Storage 操作,如果需要兼容老旧浏览器,就不能使用 Web Storage。并且Storage只能存储字符串类型的数据

Storage(localStorage和sessionStorage)的方法

clear();删除所有值;firefox中没有实现;

getItem(name);根据指定的名字name获取对应的值;

key(index):获取index位置处的值的名字;

removeItem(name):删除由name获取对应的值;

setItem(name,value);为指定name设置对应的value值;

sessionStorage.setItem("key", "value") 使用方法存储数据

sessionStorage.book = "Professional JavaScript"; //使用属性存储数据

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

sessionStorage.removeItem("key") // removeItem删除key

sessionStorage.clear() // clear清除所有的key/value

Storage的应用

sessionStorage: 敏感账号一次性登录

localStorage: 长期登录、判断用户是否已登录、适合长期保存在本地的数据;Web Storage 的特点,它主要被用于储存一些不经常改动的,不敏感的数据,比如全国省市区县信息。还可以存储一些不太重要的跟用户相关的数据,比如说用户的头像地址、主题颜色等,这些信息可以先存储在用户本地一份,便于快速呈现,等真正从服务器端读取成功后再更改头像地址,主题颜色。另外,基于 storage 事件特点,Web Storage 还可以用于同域不同窗口间的通信。

java如何获取storage_本地化存储Storage相关推荐

  1. JSP、EL和JSTL-学习笔记03【EL介绍和运算符、EL获取域中存储的数据】

    Java后端 学习路线 笔记汇总表[黑马程序员] JSP.EL和JSTL-学习笔记01[JSP基础语法] JSP.EL和JSTL-学习笔记02[MVC] JSP.EL和JSTL-学习笔记03[EL介绍 ...

  2. JAVA——实现七牛云对象存储Region对象采用配置方式生成解决方案

    官方文档 对象存储 Java SDK 更新时间:2019-12-16 17:24:24 解决方案 @Value("${qiniu.region}")private String r ...

  3. 【Android FFMPEG 开发】FFMPEG ANativeWindow 原生绘制 ( Java 层获取 Surface | 传递画布到本地 | 创建 ANativeWindow )

    文章目录 I . FFMPEG ANativeWindow 原生绘制 II . FFMPEG 原生绘制流程 III . Java 层获取 Surface 画布 IV . 传递 Surface 画布到 ...

  4. 【Kafka】kafka Java api 获取 kafka topic 或者 partition 占用的磁盘大小

    1.概述 kafka Java api 获取 kafka topic 或者 partition 占用的磁盘大小 package com.dtwave.kafka.storage;import org. ...

  5. 客户端存储——Storage

    方法 setItem(name, value):为指定的键设置值 getItem(name):获取指定键的值 key(index):获取index位置的键名 removeItem(name):根据指定 ...

  6. JAVA中获取文件MD5值的四种方法

    JAVA中获取文件MD5值的四种方法其实都很类似,因为核心都是通过JAVA自带的MessageDigest类来实现.获取文件MD5值主要分为三个步骤,第一步获取文件的byte信息,第二步通过Messa ...

  7. python--爬虫--获取和解析存储网页内容--以薄荷网为例

    如需转载请注明出处:python–爬虫–获取和解析存储网页内容–以薄荷网为例 我们在之前的文章中已经学习了如何进行数据抓包和截取 以及分析 访问网页. 例如: 抓取app数据教程–fiddler抓包数 ...

  8. java如何获取一个对象的大小

    Refrence https://cloud.tencent.com/developer/article/1060294 什么时候需要知道对象的内存大小 在内存足够用的情况下我们是不需要考虑java中 ...

  9. Java访问QingCloud青云对象存储

    Java访问QingCloud青云对象存储 网上关于小白如何访问青云的相关的博客真是少之又少啊, 正好我们项目中用到了就给大家整理下哈 首先: 如果大家想了解访问青云的操作, 先确定一下我们要访问的是 ...

最新文章

  1. MongoDB的简单操作
  2. Redis开发:hash存储自定义Java对象及value的序列化器设置
  3. win_redis【win下安装使用redis】
  4. 初级爬虫师_初级设计师的4条视觉原则
  5. Debian7 apt源设置
  6. 堆和栈的联系与区别(转贴)
  7. Linux系统时间和硬件时间设置
  8. IntelliJ IDEA 2018安装+激活+汉化(详细图解)
  9. zabbix+telegram 报警
  10. JS图表工具 ---- Highcharts
  11. Luogu5607 [Ynoi2013] 无力回天 NOI2017
  12. MATLAB2017安装步骤
  13. c语言fltk图形库,FLTK编程模型
  14. 超感光徕卡电影四摄:华为Mate30系列国内开售
  15. 微信小程序-中英文文本换行的小问题
  16. 阿里云Hologres外部表的创建及使用
  17. 什么是HTML5的媒体查询功能
  18. 网络安全-点击劫持(ClickJacking)的原理、攻击及防御
  19. 如何使用计算机创电子表格,计算机如何创建表格?
  20. 磁盘管理有磁盘0 磁盘分区1 2 5 6 7 这样 我C盘不够用 这意思是可以把这些磁盘划分到C盘里的意思吗?

热门文章

  1. 收集到的cmd基本命令快捷打开方式
  2. 设计模式之观察者模式——猫抓老鼠1
  3. Family Show 3.0分析(一)项目文件结构分析
  4. Js逆向教程19-websocket介绍
  5. 图像分类网络-经典CNN网络简介
  6. Ngnix:防止恶意域名解析
  7. 前端面试宝典 html css js ajax es6
  8. qchart 坐标轴设置_qt qchart缩放后坐标轴间隔取整
  9. 个人永久性免费-Excel催化剂功能第86波-人工智能之图像OCR文本识别全覆盖
  10. 乔布斯与Google鲜为人知的故事