首页 > 其他分享 >[浏览器]LocalStorage

[浏览器]LocalStorage

时间:2024-07-06 19:10:20浏览次数:14  
标签:存储 浏览器 localStorage Cookie LocalStorage 客户端

在HTML5中,新加入了一个localStorage特性,这个特性主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题(cookie中每条cookie的存储空间为4k),localStorage中一般浏览器支持的是5M大小,这个在不同的浏览器中localStorage会有所不同。

二、localStorage的优势与局限
localStorage的优势

1、localStorage拓展了cookie的4K限制

2、localStorage会可以将第一次请求的数据直接存储到本地,这个相当于一个5M大小的针对于前端页面的数据库,相比于cookie可以节约带宽,但是这个却是只有在高版本的浏览器中才支持的

localStorage的局限

1、浏览器的大小不统一,并且在IE8以上的IE版本才支持localStorage这个属性

2、目前所有的浏览器中都会把localStorage的值类型限定为string类型,这个在对我们日常比较常见的JSON对象类型需要一些转换

3、localStorage在浏览器的隐私模式下面是不可读取的

4、localStorage本质上是对字符串的读取,如果存储内容多的话会消耗内存空间,会导致页面变卡

5、localStorage不能被爬虫抓取到

localStorage与sessionStorage的唯一一点区别就是localStorage属于永久性存储,而sessionStorage属于当会话结束的时候,sessionStorage中的键值对会被清空

这里我们以localStorage来分析

Cookie和LocalStorage都提供了在客户端存储数据的能力,但它们在设计目的、功能和使用场景上有显著的不同。这些差异导致了即使有了Cookie,LocalStorage仍然非常有用。以下是几个关键点,解释为什么LocalStorage在存在Cookie的情况下仍然重要:

  1. 存储容量
  • Cookie的存储容量相对较小,通常每个域名限制在4KB左右。这使得Cookie不适合存储大量数据。
  • LocalStorage提供了更大的存储空间,通常至少5MB。这让它成为存储较大数据集,如用户设置、应用状态等的理想选择。
  1. 生命周期
  • Cookie可以设置过期时间,过期后会自动删除。这对于实现如会话管理等功能非常有用。
  • LocalStorage数据没有过期时间,数据会一直存在直到被明确删除,或者用户清除浏览器数据。这使得LocalStorage适合长期存储。
  1. 服务器交互
  • Cookie随每个HTTP请求自动发送到服务器,这对于进行身份验证或跟踪用户会话很有用,但可能增加不必要的网络负载。
  • LocalStorage仅在客户端存储,不随HTTP请求发送到服务器,减少了网络流量并提高了性能,特别是在不需要服务器知道存储内容的情况下。
  1. 安全性
  • Cookie支持设置为HttpOnly,可以减少XSS攻击的风险,但如果不当使用,仍可能受到CSRF攻击。
  • LocalStorage较容易受到XSS攻击,因为存储的数据可以通过客户端脚本访问,但它不涉及HTTP请求,因此不受CSRF攻击的影响。
  1. API和使用简易性
  • LocalStorage提供了一个简单易用的API,使得在客户端存储和访问数据变得更加方便。相比之下,Cookie的API相对原始,处理起来可能更复杂。

总的来说,LocalStorage提供了一种在客户端存储大量数据、不随每个请求发送到服务器、并且容易使用的解决方案。这些特性使得它成为Cookie的重要补充,特别是在处理大量不需要服务器知道的客户端数据时。尽管如此,开发者在使用这些技术时应该注意它们的安全性和性能影响。

标签:存储,浏览器,localStorage,Cookie,LocalStorage,客户端
From: https://www.cnblogs.com/DCFV/p/18287609

相关文章

  • 成都仅需浏览器即可快速查看的数据采集监控平台!
    LP-SCADA数据采集监控平台无需额外客户端,只需要一个标准的Web浏览器,用户可以迅速访问系统并开始使用,同时支持跨平台访问。一个用户可监控多个过程,多个用户可以监控同一过程,真正实现了数据的开放性及过程信号的透明化。数据采集监控平台采用了B/S模式,前后端分离,可跨平台、......
  • 从 URL 到页面:浏览器加载过程的详细解析
    当你在浏览器中输入一个URL并按下回车键,直到页面内容显示在屏幕上,这个过程中发生了许多步骤。以下是一个详细的分解,解释从输入URL到看到内容之间的整个过程:1.用户输入URL用户在浏览器地址栏中输入URL(例如 https://www.example.com)并按下回车键。2.浏览器解析URL浏......
  • 什么是跨域请求未在攻击?浏览器在这方面做了哪些努力? 为什么随机UUID做token 可以解
    跨域请求伪造攻击(Cross-SiteRequestForgery,简称CSRF)是一种恶意攻击,其中攻击者诱使用户在已认证的会话中执行未授权的操作。通过在受害者访问的站点中嵌入恶意请求,攻击者可以利用用户的身份来执行一些用户未授权的操作,如转账、修改资料等。跨域请求伪造攻击(CSRF)攻击原理用户......
  • 对于浏览器请求接口限制,是否有必要开发一套请求任务管理器组件,自主的去控制请求的并发
    在现代Web开发中,浏览器对同时发起的网络请求确实存在一定的限制,这个限制通常与浏览器的安全性和性能优化有关。不同浏览器对最大并发连接数有不同的默认设置,例如,Chrome和Firefox大致允许每个域名上同时有6到8个TCP连接,而IE可能更低。当超过这个限制时,额外的请求会被排队等待,直......
  • 设置谷歌浏览器禁止打开某网页csdn
    设置谷歌浏览器禁止打开某网页的方法包括使用浏览器设置和网络过滤软件。‌使用浏览器设置禁止访问网站在GoogleChrome浏览器中,‌可以通过以下步骤禁止访问特定的网站:‌打开Chrome浏览器,‌点击右上角的三个点菜单按钮,‌选择“设置”。‌在左侧菜单栏中选择“隐私和安全”,......
  • 鸿蒙手机号&&验证码登录, 包含倒计时&&号码格式验证码格式校验, 还有 使用 Hyperlink
    1,先看看整体效果                          2,看格式校验效果                            3,代码直接CV  importpromptActionfrom'@ohos.promptA......
  • 如何通过指纹浏览器使用代理IP?
    1.指纹浏览器定义指纹浏览器是 一种浏览器技术,它根据用户设备的硬件、软件和配置等特征生成唯一标识符(称为“指纹”)。此指纹用于识别和追踪用户身份,即使用户更改其IP地址或清除浏览器数据(如缓存和Cookie)也是如此。指纹浏览器会 收集用户设备的信息,包括操作系统......
  • EasyDesktop 浏览器书签管理从未如此简单
    作为一名软件开发从业人员,每天80%的时间都在与浏览器打交道,一半的时间在用浏览器开发调试,另一半时间则是在互联网上搜寻各种知识和资源.为此,我的浏览器书签栏存储和很多非常棒的链接,多到2k屏幕分辨率下一栏都放不下,为此我只好把这些书签的名称改的短一点,这样就能......
  • 不只是前端,后端、产品和测试也需要了解的浏览器知识
    一、我们为什么要了解浏览器?1.对于前端开发者1.浏览器是用户体验的第一线。我们需要了解浏览器的工作原理,才能有效地设计和实现用户界面,确保良好的用户体验。2.好的产品需要考虑浏览器兼容性。我们需要了解这些差异,以确保网站或应用在不同的浏览器中都能正常工作,因为不同的浏......
  • 基于Java实现图像浏览器的设计与实现
    图像浏览器的设计与实现前言一、需求分析选题意义应用意义功能需求关键技术系统用例图设计JPG系统用例图图片查看系统用例图二、概要设计JPG.javaPicture.java三、详细设计类图JPG.javaUML类图picture.javaUML类图界面设计JPG.javapicture.java四、源代码JPG.jav......