浏览器相关前端开发事项

news2024/11/22 16:47:58

文章目录

    • 存储
      • 浏览器持久化存储(F12->应用->存储)
      • 浏览器缓存(F12->内存)
      • 浏览器存储管理单位(域名/IP为单位)
      • 区别
        • localStorage VS 浏览器缓存
        • localStorage VS cookies

存储

浏览器持久化存储(F12->应用->存储)

在浏览器中存储数据的机制包括以下几种:

  1. localStorage:用于在浏览器中存储持久化数据,数据会一直保存在用户的浏览器中,直到被显式删除或被网站的代码覆盖。

  2. sessionStorage:类似于 localStorage,但是存储的数据在浏览器会话结束时被清除。会话结束可以是用户关闭浏览器窗口或标签页,或者浏览器执行了特定的清除操作。

  3. cookies:小型的文本文件,由网站服务器通过 HTTP 响应头设置并存储在用户浏览器中。cookies 可以包含有关用户的信息,如身份验证令牌、偏好设置等。与 localStoragesessionStorage 不同,cookies 在每个 HTTP 请求中都会被发送到服务器。

  4. IndexedDB:一种客户端数据库,用于在浏览器中存储结构化数据。它提供了一组丰富的 API,允许您存储、检索和操作大量数据。

  5. Web SQL Database:一种基于 SQL 的客户端数据库,已被废弃,不推荐在新的项目中使用。

这些机制各有特点和适用场景,您可以根据需求选择合适的机制来存储数据。
在这里插入图片描述

浏览器缓存(F12->内存)

浏览器缓存是指浏览器在访问网页时将某些资源临时存储在本地的一种机制。当用户再次访问同一个网页时,浏览器可以从本地缓存中加载资源,而不需要重新下载。这可以提高网页加载速度,减少网络请求,节省带宽。

浏览器缓存可以存储各种类型的资源,包括 HTML 文件、CSS 文件、JavaScript 文件、图像、字体文件等。这些资源在首次加载时会被浏览器下载并缓存起来。当用户再次访问同一网页时,浏览器会检查缓存中是否存在该资源的副本,并根据缓存策略决定是否使用缓存的资源。

浏览器缓存的好处包括:

  1. 加快网页加载速度:使用缓存的资源可以直接从本地加载,减少了网络请求和传输时间,提高了网页加载速度。

  2. 减少网络流量:使用缓存的资源不需要重新下载,可以节省用户的网络流量。

  3. 减轻服务器负载:缓存机制可以减少对服务器的请求,降低了服务器的负载压力。

浏览器缓存可以通过设置响应头的缓存控制字段(如 Cache-Control 和 Expires)以及使用版本号或文件指纹等方式进行管理和控制。开发人员可以通过适当的缓存策略来平衡缓存效果和资源更新的需求,以提供更好的用户体验和网站性能。

浏览器存储管理单位(域名/IP为单位)

localStorage、sessionStorage、cookie和IndexedDB都是基于域名/IP进行区分隔离的,不同域名/IP的存储crud相互独立。

  • localStorage和sessionStorage是HTML5 Web Storage API提供的浏览器本地存储机制。它们会将数据存储在浏览器中,但仅限于特定的域名和协议。不同的域名之间的localStorage和sessionStorage是相互隔离的,每个域名都拥有自己独立的存储空间。

  • cookie是由服务器在HTTP响应中设置的小型文本文件,存储在用户的浏览器中。每个cookie都包含一个域名属性,浏览器会根据域名来区分和管理cookie。不同的域名拥有各自独立的cookie存储空间,它们之间是隔离的。

  • IndexedDB是浏览器提供的一种高性能、非关系型的本地数据库。IndexedDB也是基于域名进行区分的,每个域名都有自己独立的IndexedDB存储空间。不同域名之间的IndexedDB是相互隔离的,无法直接共享数据。

总结起来,无论是localStorage、sessionStorage、cookie还是IndexedDB,都是基于域名进行区分的,每个域名都有自己独立的存储空间,不同域名之间的存储是相互隔离的。这样设计可以保证不同网站之间的存储数据不会相互冲突。

区别

localStorage VS 浏览器缓存

localStorage和浏览器缓存是两种不同的存储机制。

  1. localStorage(本地存储)是浏览器提供的一种持久化存储方式,可以将数据以键值对的形式存储在浏览器中。localStorage中存储的数据不会因为页面刷新或关闭浏览器而被清除,除非主动删除或清除浏览器缓存( localStorage.clear();)。localStorage适合用于存储较小量的数据,例如用户的偏好设置、登录状态等。

  2. 浏览器缓存是浏览器在访问网页时将某些资源临时存储在本地的一种机制。浏览器缓存可以分为强缓存和协商缓存两种方式。强缓存是通过设置响应头的缓存控制字段(如Cache-Control和Expires)来告诉浏览器在一定时间内直接使用缓存的资源。协商缓存是通过设置响应头的ETag和Last-Modified字段,浏览器在下一次请求时发送If-None-Match和If-Modified-Since字段,由服务器判断资源是否有更新,并返回新的资源或告诉浏览器继续使用缓存的资源。浏览器缓存适合用于存储静态资源文件(如CSS、JavaScript、图片等),可以减少网络请求和加快网页加载速度。

总结起来,localStorage是一种用于持久化存储少量数据的机制,而浏览器缓存是一种用于临时存储网页资源的机制,可以加快网页加载速度。它们的使用场景和存储特性不同,开发人员可以根据具体需求选择适合的存储机制。

localStorage VS cookies

localStorage和cookies是两种不同的浏览器存储机制,它们有以下区别:

  1. 存储容量:cookies的存储容量通常较小,一般限制在几KB到几MB之间,而localStorage的存储容量通常较大,可以达到几十MB甚至更多。

  2. 数据传输:cookies在每次HTTP请求时都会被自动发送到服务器,这会增加数据传输量。而localStorage存储在客户端浏览器中,不会自动发送到服务器,只有在前端JavaScript代码中进行手动操作时才会被使用。

  3. 过期时间:cookies可以设置过期时间,可以指定在一定时间后失效。而localStorage则没有过期时间,数据会一直保留在浏览器中,直到被手动删除或清除浏览器缓存。

  4. 跨域访问:cookies在跨域请求时会自动发送到服务器,而localStorage只能在同源的页面间进行访问。

  5. 安全性:cookies可以设置为只在HTTPS连接时传输,从而提供一定的安全性。而localStorage在浏览器中存储的数据相对较为安全,不会随着HTTP请求被发送到服务器。

总的来说,cookies适合用于存储少量的、需要在每次HTTP请求中发送到服务器的数据,如用户身份验证信息。而localStorage适合用于存储较大量的数据,用于客户端浏览器的本地存储,不需要频繁与服务器交互。开发人员可以根据具体的需求和安全要求选择合适的存储机制。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/622966.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

机器视觉陶瓷板表面划痕丝印检测方法

随着陶瓷制品在建筑、电子、医疗等领域的应用越来越广泛,对陶瓷制品的质量要求也越来越高。而陶瓷制品表面的划痕和丝印等缺陷会降低产品的美观度和质量,甚至会影响产品的安全性和使用寿命。传统的陶瓷板检测方式主要依赖人工目视检测,效率低…

FL Stuido21中文版水果编曲软件下载

FL stuido水果编曲软件做舞曲以及电子乐的利器,即便是在IPAD或者电脑端上操作,都非常的简便。界面逻辑非常友好,做rnb也是很可以的东西。可以作半成品的内容,声音采样方面还行,同样需要接口卡支持。钢琴卷帘操作还算便…

华为OD机试真题 Java 实现【字符串序列判定】【2022Q4 100分】,附详细解题思路

一、题目描述 输入两个字符串a和b&#xff0c;都只包含英文小写字母。a长度<100&#xff0c;b长度<500,000。 判定a是否是b的有效子串。 判定规则&#xff1a; a中的每个字符在b中都能找到&#xff08;可以不连续&#xff09;&#xff0c;且a在b中字符的前后顺序与a中…

FTL潜规则:调优,才是算法精华

前言 在存储领域中有一个FTL的概念&#xff0c;这是一种Flash的内存管理算法&#xff0c;属于各个厂商的核心机密&#xff0c;每个厂商的处理方式不同&#xff0c;有的处理简单&#xff0c;有的处理复杂。 FTL&#xff0c;即Flash Translations layer&#xff0c;也就是闪存转…

wayland浅析之EGL、Opengles、GBM

本文针对不同的compositor&#xff0c;浅析eglopenglesgbm搭配使用情况&#xff1b; 文章目录 1. 前言1.1 问题一&#xff1a;是不是调用eglSwapBuffers函数以后图像就直接显示到屏幕上了&#xff1f;1.2 问题二&#xff1a;EGL基本使用流程&#xff0c;EGL搭配GBM上屏显示基本…

JavaSE06_面向对象之封装

JavaSE-06 [面向对象OOP 封装] 第一章 面向对象思想 1.1 面向过程和面向对象 面向过程&#xff1a; 面向过程就是分析出解决问题所需要的步骤&#xff0c;然后用函数把这些步骤一步一步实现&#xff0c;使用的时候一个一个依次调用就可以了面向对象&#xff1a; 面向对象是…

Servlet、JSP

一、web服务器 1.1 常用服务器产品 Tomcat&#xff08;Apache开源&#xff0c;主流的web服务器之一&#xff0c;多用于javaweb项目开发&#xff09; jetty&#xff08;效率高于Tomcat&#xff09; WebLogic&#xff08;Oracl 收费&#xff09; WebSpera&#xff08;IBM&#xf…

cesium学习之旅1:cesium 基本介绍以及 cesium 的 hello world 程序

一&#xff1a;什么是Cesium Cesium 是一个跨平台、跨浏览器的展示三维地球和地图的 javascript 库。Cesium 使用WebGL 来进行硬件加速图形&#xff0c;使用时不需要任何插件支持&#xff0c;但是浏览器必须支持WebGL。Cesium是基于Apache2.0 许可的开源程序。它可以免费的用于…

代码随想录二刷 day16 | 二叉树之104.二叉树的最大深度 559.n叉树的最大深度 111.二叉树的最小深度 222.完全二叉树的节点个数

day16 104.二叉树的最大深度559.n叉树的最大深度111.二叉树的最小深度222.完全二叉树的节点个数 104.二叉树的最大深度 题目链接 解题思路&#xff1a;本题中根节点的高度就是最大深度 二叉树节点的深度&#xff1a; 指从根节点到该节点的最长简单路径边的条数或者节点数&…

TensorFlow项目练手——天气预测

项目介绍 通过以往的天气数据和实际天气温度&#xff0c;做一次回归预测&#xff0c;模型的输入是当前的所有特征值&#xff0c;而模型的输出是当天的实际天气温度 字段分析 目前已有的数据有348条svc数据&#xff0c;他们的字段分别代表 year&#xff1a;年month&#xff…

美客多卖家攻略:养号技巧分享

在跨境电商平台上成功运营并建立起具有竞争力的店铺并不容易。美客多作为一个颇具影响力的平台&#xff0c;更需要卖家们仔细研究和精心运营。在这里&#xff0c;我将分享一些秘诀&#xff0c;这些秘诀是在我自养号过程中总结出来的&#xff0c;有助于增加销量并提升店铺的排名…

高级数据分析师岗位的职责描述

高级数据分析师岗位的职责描述1 职责&#xff1a; 1.搭建和完善数据中心的数据指标体系与监控预测体系&#xff0c;并推动系统化实现; 2.负责对市场、行业、竞争对手、产品、客户、业务运营等方面数据的收集、分析&#xff0c;完成整理出分析报告、提供数据支持、分析建议; 3.对…

AI 写的高考作文,你打几分?

又是一年高考时&#xff0c;高考真的是人生的一件大事&#xff0c;毕业这么多年&#xff0c;每次看到高考相关信息&#xff0c;还是会不由自主的点进来&#xff0c;其中语文的作文是每年大伙津津乐道的话题。 树先生今天就收到了某条小秘书的【邀请函】&#xff0c;邀请参与「…

Elasticsearch:实用指南

我们将更多地讨论使用 Elasticsearch 的最佳实践。这些做法是一般性建议&#xff0c;可以应用于任何用例。 让我们开始吧。 Bulk Requests 批量 API 使得在单个 API 调用中执行许多索引/删除操作成为可能。 这可以大大增加索引速度。 每个子请求都是独立执行的&#xff0c;因此…

Elasticsearch8.6.0安装

Elasticsearch 8.5.0 安装 Elasticsearch 简介Elasticsearch 8.6.0 安装创建网络拉取镜像运行镜像设置密码修改kibana配置绑定ES代码绑定&#xff1a;手动绑定&#xff1a; 配置ik分词器扩展词词典停用词词典 Elasticsearch 简介 Elasticsearch&#xff08;ES&#xff09; 是一…

Redis搭建分片集群

一、什么是Redis分片集群 1、概念 Redis分片集群是用于将Redis的数据分布在多个Redis节点上的分布式系统。通过分片集群&#xff0c;可以将数据分成多个部分&#xff0c;并将每个部分存储在不同的节点上&#xff0c;以便实现Redis的高可用性和高性能。 2、Redis分片集群原理…

写字楼里的「连接」智慧,撬起万亿新赛道

【潮汐商业评论/原创】 对于新入职的Cherry来说&#xff0c;在新公司上班的体验也是全新的。 每天上班&#xff0c;尚不熟悉的她可以在互动屏的指导下精准找到目的地。办公室的温度、湿度和空气质量&#xff0c;会随着天气条件和人员的密集程度相应调整。休息时Cherry抬头就能…

nc/netcat使用

目录 一、前言1.netcat是什么2.netcat有什么用 二、netcat的使用1.程序文件2.作为HTTP客户端3.作为HTTP服务端4.文件传输 三、问题与思考四、小结 一、前言 1.netcat是什么 netcat是一个基于命令行的网络调试和开发工具。对于windows和linux操作系统中都有适配的程序包,程序文…

AcWing算法提高课-1.3.13机器分配

宣传一下算法提高课整理 <— CSDN个人主页&#xff1a;更好的阅读体验 <— 本题链接&#xff08;AcWing&#xff09; 点这里 题目描述 总公司拥有 M M M 台 相同 的高效设备&#xff0c;准备分给下属的 N N N 个分公司。 各分公司若获得这些设备&#xff0c;可以为…

Linux - 第24节 - Linux高级IO(三)

1.Reactor模式 1.1.Reactor模式的定义 Reactor反应器模式&#xff0c;也叫做分发者模式或通知者模式&#xff0c;是一种将就绪事件派发给对应服务处理程序的事件设计模式。 1.2.Reactor模式的角色构成 Reactor主要由以下五个角色构成&#xff1a; 角色解释Handle&#xff08;句…