前端存储都有哪些

cookie 、sessionStorage、localStorange、http缓存 、indexDB

cookie

由服务器设置,在客户端存储,然后每次发起同源请求时,发送给服务器端。cookie最多能存储4K数据,它的生存时间由expires属性指定,并且cookie只能被同源的页面访问共享。

localStorage

html5 提供的一种浏览器本地存储的方法,它一般也能够存储5M或者更大的数据。它和sessionStorange不同的是,除非手动删除它,否则它不会失效,并且localStorage也只能被同源页面所访问共享。

SeeionStorange

html5 提供的一种浏览器本地存储的方法,它借鉴了服务端session的概念,代表的是一次会话中所保存的数据。它一般能够存储5M或者更大的数据,它在当前窗口关闭后就失效了,并且sessionStorange只能被同一个窗口的同源页面所访问共享。

http缓存:

 优点:主要通过请求头和响应头的信息,来控制缓存的策略。它的优点有缩短网页请求资源的距离,减少延迟、节省流量,由于缓存文件可以重复利用,减少服务器的压力,提高客户端的响应。

缺点:缓存可能导致用户看到过期的内容,需要使用版本号或者文件指纹来解决。如果缓存策略不当,可能会造成资源更新后用户无法及时获取最新内容。

浏览器缓存分为:强缓存200、协商缓存304

区别: 强缓存不向服务器发送请求,协商缓存会发送请求至服务器

相同点:若命中,都直接从浏览器缓存加载资源,不从服务器加载资源

由响应头来控制缓存 :

强缓存:Expired 、catch-Control

浏览器在请求资源时,先检查该资源的缓存标识(例如ExpiresCache-Controlmax-age等),如果该资源在缓存有效期内,则直接使用缓存,不会向服务器发起请求。

协商缓存:(请求头+响应头) :Last-Modifired 、Etag

当资源的缓存过期或者需要验证时,浏览器会向服务器发送请求,服务器会根据资源的最后修改时间(Last-Modified)或者资源的唯一标识(ETag)来判断资源是否有更新。

强缓存的资源存储位置

状态Network - Size含义
200from memory cache不请求网络资源,资源在内存, 一般是脚本、字体、图片,浏览器关闭,数据将被释放
200from disk cache请求网络资源,资源在磁盘, 一般是css等,关闭数据还在
200资源大小从服务器下载最新资源
304报文大小请求服务端发现资源未更新,使用本地资源

用户行为对强缓存和协商缓存的影响

用户操作Expires/cache-control Last-modified/Etag
地址栏回车有效有效
页面链接跳转有效有效
新开窗口有效有效
前进回退有效有效
f5刷新无效有效
ctrl+f5强制刷新无效无效

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

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

相关文章

涨点超强!图像特征提取最新方法!性能效率快到飞起

在图像处理领域,有一个非常关键的步骤:图像特征提取。它能给我们提供一种高效、准确且灵活的方式来描述和分析图像内容。 通过降低图像数据的维度,去除冗余和噪声信息,图像特征提取不但简化了后续处理过程,还能提高算…

ffmpeg使用mjpeg把yuvj420p编码为jpg图像

version #define LIBAVUTIL_VERSION_MAJOR 58 #define LIBAVUTIL_VERSION_MINOR 12 #define LIBAVUTIL_VERSION_MICRO 100 note 1. 通过*.jpg推测时,out_fmt为image2,打开*.jpg文件时,in_fmt为image2 但是out_fmt为image2时&#xff…

web项目打包成可以离线跑的exe软件

目录 引言打开PyCharm安装依赖创建 Web 应用运行应用程序打包成可执行文件结语注意事项 引言 在开发桌面应用程序时,我们经常需要将网页集成到应用程序中。Python 提供了多种方法来实现这一目标,其中 pywebview 是一个轻量级的库,它允许我们…

滑动窗口算法——部分OJ题详解

目录 关于滑动窗口 部分OJ题详解 209.长度最小的子数组 3.无重复字符的最长字串 1004.最大连续1的个数Ⅲ 1658.将x减到0的最小操作数 904.水果成篮 438.找到字符串中所有字母异位词 30.串联所有单词的子串 76.最小覆盖子串 关于滑动窗口 其实滑动窗口也是通过双指针…

存储引擎MyISAM和InnoDB

目录 一、存储引擎概述 1.存储引擎概念 2.存储引擎分类 3.选择存储引擎的原则 二、InnoDB 存储引擎 三、MyISAM 存储引擎 四、实验操作 一、存储引擎概述 1.存储引擎概念 数据库存储引擎是数据库底层软件组件,数据库管理系统使用数据库引擎进行创建&#x…

Spring Boot中如何处理异步任务

Spring Boot中如何处理异步任务 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我们将探讨在Spring Boot应用中如何处理异步任务,以提升系统的性…

Nuxt 的异步数据处理(八)

Nuxt.js 扩展了 Vue.js,增加了一个叫 asyncData 的方法,使得我们可以在设置组件的数据之前能异步获取或处理数据。 asyncData 方法 Nuxt.js 提供了几种不同的方法来使用 asyncData 方法,你可以选择自己熟悉的一种来用: 返回一个…

CMS垃圾回收过程中重新标记阶段为什么不能清理浮动垃圾

因为在并发标记时,因为是 GC 和用户线程是并发执行的,可能导致一部分已经标记为 从 GC Roots 不可达 的对象,若该对象在用户线程的修改下又可达了,Remark 的作用就是将这部分对象又标记为 可达对象(漏标)。…

Double 4 VR虚拟情景智能互动系统在小语种专业课堂上的应用

随着科技的进步,越来越多的教育机构开始尝试使用虚拟现实技术来提高教学效果。Double 4 VR虚拟情景智能互动系统就是这样一款能够为小语种专业课堂带来革新性体验的教学工具。 一、模拟真实环境,增强学习体验 系统通过高度仿真的虚拟环境,为学…

Git(涵盖GitHub\Gitee码云\GitLab)

Git(涵盖GitHub\Gitee码云\GitLab) 文章目录 Git(涵盖GitHub\Gitee码云\GitLab)课程介绍Git概述官网介绍版本控制介绍两种版本控制工具集中式版本控制工具分布式版本控制工具 Git工作机制代码托管中心 Git安装和客户端的使用Git常用命令设置用户签名初始化本地库查看本地库状态…

C++——string类用法指南

一、前言 在C语言中,字符串是以\0结尾的一些字符的集合,为了操作方便,C标准库中提供了一些str系列的库函数,但是这些库函数与字符串是分离的,不太符合OOP的思想,而且底层空间需要用户自己管理,稍…

性能飞跃:深度优化IntelliJ IDEA的实战指南

性能飞跃:深度优化IntelliJ IDEA的实战指南 IntelliJ IDEA,作为Java开发者的首选IDE,以其强大的功能和智能化的代码辅助而闻名。然而,随着项目规模的增长,IDE的性能可能会成为瓶颈。本文将提供一份详尽的优化指南&…

C++编译时引入json/nlohmann文件报错

报错信息: In file included from /home/chenlang/catkin_ws/src/leanrning_communication/src/mysql/../utils/data.h:14:0,from /home/chenlang/catkin_ws/src/leanrning_communication/src/mysql/MyRobotDb.h:32,from /home/chenlang/catkin_ws/src/leanrning_communicatio…

学校选用SOLIDWORKS教育版进行授课的理由

在当代的工程与技术教育领域,计算机辅助设计软件(CAD)已经变成了一个不可缺少的教学辅助工具。SOLIDWORKS作为一个功能齐全且用户友好的CAD软件,其教育版本在学校教学环境中受到了广泛的欢迎。本文将对学校教学中选用SOLIDWORKS版…

eclipse基础工程配置( tomcat配置JRE环境)

文章目录 I eclipse1.1 工程配置1.2 编译工程1.3 添加 JRE for the project build pathII tomcat配置JRE环境2.1 Eclipse编辑tomcat运行环境(Mac版本)2.2 Eclipse编辑tomcat运行环境(windows版本)2.3 通过tomcat7W.exe配置运行环境(windows系统)I eclipse 1.1 工程配置 …

【motan rpc 懒加载】异常

文章目录 升级版本解决问题我使用的有问题的版本配置懒加载错误的版本配置了懒加载 但是不生效 lazyInit"true" 启动不是懒加载 会报错一次官方回复 升级版本解决问题 <version.motan>1.2.1</version.motan><dependency><groupId>com.weibo…

iOS 账号上传IPA包时警告:Potential Loss of Keychain Access

APP迭代时&#xff0c;使用transporter交付应用IPA包报警告Potential Loss of Keychain Access 原因是之前从旧账号中转让APP到当前的新账号中&#xff0c;标识符发生了改变。 报错信息&#xff1a; WARNING ITMS-90076: “Potential Loss of Keychain Access. The previou…

5G VONR

转载&#xff1a;VoNR呼叫流程介绍 (baidu.com) 使用5G RAN、5G Core和IMS的语音服务被称为新无线电VoNR上的语音&#xff0c;5G提供语音/视频通话等服务。 NR网络架构上的语音 NR语音网络体系结构由5G RAN、5G Core和IMS网络组成。下面显示了一个体系结构。&#xff08;仅包…

python3.12 Class str详解

字符串作为计算里面一个重要的对象&#xff0c;在Python的实现是通过定义类来描述它的。这是一篇字典式的文章&#xff0c;我们详细描述字符串实例的各个办法。 一&#xff1a; 实例化的办法&#xff1a;‘’。比如&#xff1a; spython二&#xff1a;字符串类的办法。&#x…

3.x86游戏实战-寄存器

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 本次游戏没法给 内容参考于&#xff1a;微尘网络安全 上一个内容&#xff1a;2.x86游戏实战-跨进程读取血量 寄存器说明&#xff1a; 寄存器是处理器的一部&…