浏览器相关开发事项

news2024/11/27 18:33:47

文章目录

    • 存储
      • 浏览器持久化存储(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适合用于存储较小量的数据,例如用户的偏好设置、登录状态等。

  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/598122.html

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

相关文章

Linux :: 【基础指令篇 :: (补充):(5)】:: 初步认识并解析文件详细信息内容:文件类型与用户访问权限说明、文件类型分类说明

前言:本篇是 Linux 基本操作篇章的内容! 笔者使用的环境是基于腾讯云服务器:CentOS 7.6 64bit。 学习集: C 入门到入土!!!学习合集Linux 从命令到网络再到内核!学习合集 经过了前面内…

如何理解数字化转型模式,适用于哪些企业?

如何理解「数字化转型」模式,适用于哪些企业,有何利弊? 这是一个很大的话题,本篇内容较长,全文6000字,心急的伙伴可先看目录,衷心希望以下内容能给大家带来帮助。(如果担心一次看不…

案例分析 | 无代码助力国企数字化转型破旧立新

数字经济已成为国策,国企数字化转型更是排头兵,正成为数字化转型标杆。企业数字化转型是用信息技术全面重塑企业经营管理模式,是企业发展模式的变革与创新,是迈向数字经济时代的必然选择。 2022年9月底,国资委下发了重…

docker-compose启动mysql双机热备互为主从

1、环境准备 IP地址名称192.168.123.78mysql-m192.168.123.82mysql-s 2、安装mysql-m(192.168.123.78) 创建M主节点,通过下面的docker编排配置创建响应的目录和文件,目录下边创建 docker-compose.yml和my.cnf文件 docker-compo…

机器学习笔记 - 深度相机技术原理路线概览

一、深度相机的应用和原理 机器学习、人工智能、嵌入式视觉和处理技术的进步帮助创新者构建了能够在几乎没有人工监督的情况下导航环境的自主机器。此类设备的示例包括AMR(自主移动机器人),自动拖拉机,自动叉车等。 使这些设备真正自主需要它们能够在没有任何手动…

定时器搭配GPIO做定时扫描按键 -- STM32

STM32学习 定时器(TIM)定时器工作原理定时器相关参数相关函数和配置参数 通用输入/输出(GPIO)GPIO原理GPIO相关函数 实现定时扫描按键总结 在STM32F103系列的单片机应用中,定时器(TIM)和通用输入…

【名词解释】KiB和KB,MiB和MB,GiB和GB 等的区别以及1M带宽到底是多少?

目录 1. KiB和KB,MiB和MB,GiB和GB 2. 宽带速度 3. 单位换算 1. KiB和KB,MiB和MB,GiB和GB KiB和KB,MiB和MB,GiB和GB 等的区别: 1KB(kilobyte)10^31000byte, 1KiB(kibibyte)2^101024byte …

虹科干货 | 虹科Redis企业版数据库的延迟如此之小,proxy功不可没!

在Redis企业版集群的后台发生了许多事件,proxy(代理)隐藏了数据库客户端的所有活动。 大多数开发人员在构建应用程序时都会从小规模开始,使用简单的Redis开源(Redis OSS)数据库。在初期阶段,使用…

lnmp安装部署

文章目录 一、安装部署nginx二、安装部署mysql三、安装配置 PHP 解析环境四、部署 Discuz!社区论坛 Web 应用 一、安装部署nginx 1、安装依赖包 systemctl stop firewalld setenforce 0 yum -y install pcre-devel zlib-devel gcc gcc-c make2、创建运行用户 use…

设计模式之~解释器模式

简述: 解释器模式,给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。 解释器模式需要解决的是,如果一种特定类型的问题发生的频率足够高,那么可…

基于安全产品DNS隧道流量分析

域名准备 选择哪家的云都没问题,这里我选择的TX云,因为之前注册过了,自己拿来做个流量分析不成问题。 域名添加解析记录 需要准备自己的vps作为DNS隧道的服务端,且需要添加ns记录 iodined 关闭53端口关闭开机自启 systemctl …

数据在内存中存储的真相来了!!!

🤩本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。 🥰内容专栏:这里是《C知识系统分享》专栏,笔者用重金(时间和精力)打造,基础知识一网打尽&#xff0c…

【CMake报错】“检测到_ITERATOR_DEBUG_LEVEL和RuntimeLibrary不匹配” 的解决方案

👉博__主👈:米码收割机 👉技__能👈:C/Python语言 👉公众号👈:测试开发自动化 👉专__注👈:专注主流机器人、人工智能等相关领域的开发、…

外观模式详解:轻松搞定复杂子系统

一、概述 外观模式(Facade Pattern)是一种结构型设计模式,它为多个子系统中的操作提供一个统一的高层接口,用于访问复杂子系统的功能。其核心思想是通过一个外观类将子系统的复杂操作进行封装,客户端只需与外观类进行…

微信朋友圈如何批量发圈

做营销最重要的任务是什么? 毋庸置疑,就是发布朋友圈。 为什么要发圈呢? 发朋友圈是一种推广产品和服务的营销手段。 在如今社交媒体普及的时代,人们大多数时间都在线上,而朋友圈作为微信中的社交场景之一&#xff…

小程序开发,帮助小个体实现品牌化

在这个互联网时代,小程序成为了各大平台的必备。微信作为一款国民级的应用,如今已经拥有近10亿的用户,而小程序作为微信新推出的一款产品,已经被大家熟知。除了微信平台之外,小程序也被很多商家所青睐。因为小程序能带…

C++中《stack和queue的使用》

本文主要讲解栈和队列的常见接口的使用 文章目录 一、栈的介绍和使用1.1 stack的介绍1.2 stack的使用 二、queue的介绍和使用2.1 queue的介绍2.2 queue的使用 一、栈的介绍和使用 1.1 stack的介绍 1️⃣stack是一种容器适配器,专门用在具有后进先出操作的上下文环…

CS5366电路原理图|CS5366demobord参考电路|单芯片PD集成4K60Hz拓展坞芯片设计

ASL CS5366是Type-C转HDMI 4K60HZPDUSB3.0单芯片集成芯片,芯片方案带DSC压缩功能且最高可支持支持RGB 4:4:4 。 CS5366参数特性: 支持最高分辨率/定时4k60Hz 支持DSC v1.2a,并与前一版本向后兼容 支持DSC解码器和直通模式 嵌入式32位RISC-V…

2023年天府杯全国大学生数学建模竞赛B题中国环境问题的治理解题全过程

2023年天府杯全国大学生数学建模竞赛 B题 中国环境问题的治理 原题再现: 问题背景:   随着经济的快速发展和人口的持续增长,中国的环境问题已经成为了一个急需解决的重要问题。这些环境问题不仅对人们的健康和生活质量产生了巨大的影响&a…

笔试强训7

作者:爱塔居 专栏:笔试强训 作者简介:大三学生,希望和大家一起进步 目录 day9 day10 day9 一. 单选 1.下面程序的输出是:() String x"fmn"; x.toUpperCase(); String yx.replace(f,F); yy"wxy"; System.out…