zoukankan      html  css  js  c++  java
  • 浅谈localStorage的使用场景和优劣势,以及sessionStorage和cookie

    一、localStorage,sessionStorage,cookie的简单介绍

    localStorage:仅在客户端存储不参与服务器通信,存储大小一般为5M,如果不是人为清除,那么即使是关闭浏览器也会一直存在。

    sessionStorage:仅在客户端存储不参与服务器通信,存储大小一般为5M,会话级存储,也就是说如果关闭当前页面或者浏览器那么就会清除

    cookie:客户端存储,参与服务器通信,存储大小为4k,可设置生命周期,在设置的生命周期内有效

    二、localStorage的优势及其注意点

    在存储方面localstorage和sessionStorage具有巨大优势,大小为5M,比cookie大多了,所以可以用localStorage来做一些相对不太会改变的数据缓存或者说可以缓存用户的足迹,换个说法,localStorage是一个小型的数据库。

    localStorage的值为string类型,这就说明我们在使用的时候要进行类型转换。

    三、localStorage的缺点和痛点

    一:在浏览器隐私模式下不可读取。

    二:不同浏览器无法共享localStorage。

    不同浏览器无法共享localStorage,相同浏览器的不同页面间可以共享相同的 localStorage(页面属于相同域名和端口),但是不同页面或标签页间无法共享sessionStorage的信息。这里需要注意的是,页面及标 签页仅指顶级窗口,如果一个标签页包含多个iframe标签且他们属于同源页面,那么他们之间是可以共享sessionStorage的。

    三:localStorage不能被爬虫获取。

    四:因为localStorage的本质是对字符串的读取,如果存储内容多的话会消耗内存空间,会导致页面变卡;并且localStorage 是同步的 (会阻塞渲染)。

    五:浏览器会在第一个请求的时候就将数据加载到内存中 (浪费用户内存RAM)。

    四、localStorage的三种存储方法

    1.Windows.localStorage.name = 'value'

    2.Windows.localStorage[name] = 'value'

    3.Windows.localStorage.setItem('name','value')

    五:兼容性

    OK,对于localStorage和sessionStorage及cookie介绍就到这里了,有什么问题可以在下面留言,欢迎提问!

  • 相关阅读:
    springmvc常用注解之@Controller和@RequestMapping
    解决nginx负载均衡的session共享问题
    iOS顶部滑动菜单:FDSlideBar 与NinaPagerView
    C#中使用WeiFenLuo.WinFormsUI.Docking.dll实现窗口停靠效果
    [转]C#使用Log4Net记录日志
    ICSharpCode.SharpZipLib 开源压缩库使用示例
    WorldWind源码剖析系列:日志类Log
    [转]反射基础
    WorldWind源码剖析系列:星球球体的加载与渲染
    Vue 前端路由 vue-router
  • 原文地址:https://www.cnblogs.com/wwwxxjsyy/p/13825119.html
Copyright © 2011-2022 走看看