首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏bug收集

    强制缓存和协商缓存的区别

    浏览器第一次请求时: 浏览器后续在进行请求时: 浏览器缓存分为强缓存(本地缓存)和协商缓存(对比缓存) 02 术语解释 1. 缓存命中:指在缓存中找到请求的数据. 2. 03 强制缓存缓存:浏览器在请求某一资源时,会先获取该资源缓存的header信息,判断是否命中强缓存(cache-control和expires信息),若命中直接从缓存中获取资源信息,包括缓存header private:只能被终端用户的浏览器缓存,不允许CDN等中继缓存服务器对其缓存。 05 强制缓存和协商缓存的区别 06 前端如何实现HTTP缓存 静态的html页面想要设置使用缓存需要通过HTTP的META设置expires和cache-control 设置如下网页元信息: < 需要根据Cookie,认证信息等决定输入内容的动态请求是不能被缓存的 3. 经过HTTPS安全加密的请求,也存在例外情况 4. POST请求无法被缓存 5.

    1.4K20编辑于 2022-12-14
  • 来自专栏Mr_du

    强制缓存和协商缓存的区别

    强制缓存 Expires:response header里的过期时间,浏览器再次加载资源时,如果在这个过期时间内,则命中强缓存。 Cache-Control:当值设为max-age=300时,则代表在这个请求正确返回时间(浏览器也会记录下来)的5分钟内再次加载资源,就会命中强缓存。 浏览器会使用强制缓存策略来加载 HTML 页面,而对于每个 PNG 图片,浏览器会使用协商缓存策略来验证缓存的有效性。 当浏览器请求 HTML 页面时,默认情况下会使用强制缓存策略。 这意味着即使 HTML 页面使用了强制缓存,每次加载 PNG 图片时都会发送请求到服务器进行验证。

    10.3K82编辑于 2023-11-23
  • 来自专栏全栈程序员必看

    vue 强制清除浏览器缓存

    nginx 配置  location = /index.html { add_header Cache-Control "no-cache, no-store"; } 原因: 第二种方法浏览器也会出现缓存 ,配置之后禁止html 出现缓存 no-cache, no-store可以只设置一个 no-cache浏览器会缓存,但刷新页面或者重新打开时 会请求服务器,服务器可以响应304,如果文件有改动就会响应200 no-store浏览器不缓存,刷新页面需要重新下载页面 (4)在脚本加载时加入一个时间戳,修改 webpack.prod.conf.js 文件。

    2.6K20编辑于 2022-09-09
  • 来自专栏乱码三千

    强制刷新gradle依赖缓存的方法

    有时候我们需要在不改变版本号的前提下 同步gradle重新从远程更新依赖包 方案一: 修改项目任意一个依赖库版本号,然后同步gradle,同步完成后再改回来 方案二: 执行以下指令强制刷新 Windows

    8.3K30发布于 2021-07-29
  • 来自专栏轻量级微服务

    Mac 强制刷新本地的 DNS 缓存

    一般情况下,修改了域名的 DNS 解析,在本地访问该域名时,解析到的 IP 值还是旧的,想立即解析到最新值,那么就需要清理本地的 DNS 缓存,在终端中执行如下命令即可:sudo dscacheutil

    12.2K171编辑于 2022-11-30
  • 来自专栏小工匠聊架构

    计网 - HTTP 协议_强制缓存和协商缓存的区别

    这个能力可以利用 HTTP 协议头进行配置,比如下面这条请求头: Keep-Alive: timeout=5s 会告诉 Web 服务器连接的持续时间是 5s,如果 5s 内没有请求,那么连接就会断开。 ---- 缓存 在 HTTP 的使用中,我们经常会遇到两种缓存强制缓存和协商缓存,接下来举两个场景来说明。 ---- 强制缓存 举个例子: 公司用版本号管理某个对外提供的 JS 文件。 当一个文件被强制缓存后,下一次请求会直接使用本地版本,而不会真的发出去。 使用强制缓存时要注意,千万别把需要动态更新的数据强制缓存。 一个负面例子就是小明把获取用户信息数据的接口设置为强制缓存,导致用户更新了自己的信息后,一直要等到强制缓存失效才能看到这次更新。 小明一开始觉得强制缓存可以,然后突然有一天接到运营的通知,某市下属的两个县合并了,需要调整接口数据。小明错手不急,更新了接口数据,但是数据要等到强制缓存失效。

    77440发布于 2021-08-17
  • 来自专栏技术知识分享

    Apache强制浏览器清除缓存的方法

    在日常网页建设时,如遇到更新页面css的时候,需要Apache进行清除以清除所有浏览器上的缓存,从而强制完全重新加载站点。 if -modifiedsince询问在这个最后的修改时间之后是否修改过这个文件,然后服务器进行对比,最后服务器检查两个值的时间是否一致,如果一致,返回304缓存,不一致200。 内容定期生成:当有时内容并没有任何变化,但Last-Modified却改变了,导致文件没法使用缓存。 3、Expire:在响应http请求时告诉浏览器在过期时间前可以直接从浏览器缓存取数据,而无需再次请求。 4、cache-control的浏览器缓存其实跟EXPIRES作用是一致的,但是在设置上会更加的细致,可以满足很多不同的需求。

    3.2K20发布于 2021-09-01
  • 来自专栏兜兜毛毛

    MyBatis 缓存5

    跟Hibernate一样,Mybatis也有一级缓存、二级缓存,并预留了集成第三方的缓存接口。 除了基础缓存之外,MyBatis也定义了很多装饰器,同样实现了Cache接口,通过这些装饰器可以额外实现很多功能。 ? 所有缓存可以分为三大类:基本缓存、淘汰算法缓存、装饰器缓存。 策略缓存缓存达到上限时,删除最先入队的缓存 evication="FIFO" SoftCache \ WeakCache 带清理策略的缓存 通过JVM的软引用和弱引用来实现缓存,当JVM内存不足时 事务缓存 在二级缓存中使用,可一次存入多个缓存,移除多个缓存 在TransactionalCacheManager中用Map维护对应关系 一级缓存 一级缓存也叫本地缓存(Local Cache),MyBatis 而一级缓存是在SqlSession内部的,所以肯定是工作在一级缓存之前,也就是只有取不到二级缓存的情况下才到一个会话中去取一级缓存。 二级缓存是在哪里维护的呢?

    67320发布于 2021-04-19
  • 来自专栏一个执拗的后端搬砖工

    springboot(5)--缓存

    它具有内存和磁盘存储,缓存加载器,缓存扩展,缓存异常处理程序,一个gzip缓存servlet过滤器,支持REST和SOAP api等特点。 Object queryUser(@PathVariable("id") Long id) { return this.userService.findById(id); } } 5. springboot2.0.5依赖的基础库是spring5.x,而spring5中已经取消了对guava缓存的支持。 1.添加caffeine依赖 <! spring.cache.caffeine.spec=initialCapacity=50,maximumSize=500,expireAfterWrite=100s,refreshAfterWrite=5s : @Configuration public class CaffeineConfiguration { /** * 必须要指定这个Bean,refreshAfterWrite=5s

    67210发布于 2020-11-19
  • 来自专栏Java实战博客

    5、Openresty本地缓存

    Openresty本身也支持开辟内存添加共享缓存的空间,操作api与redis一致 本地缓存的作用 减少查询redis、mysql的操作,实际redis也很快,但是毕竟有网络开销。 本地缓存会更快一些! so;;"; # ① 开启本地共享缓存,会占用内存:150mb 缓存名mycache,自定义 lua_shared_dict mycache 128m; # 在这里配置 也就是不会超时 ngx.say('缓存设定成功!') -- 读取数据 local name = getCache:get('name') ngx.say('第二次读取本地缓存!' ,name) -- 删除数据 --getCache:delete('name') -- 特别说明 -- 1、重载配置文件,缓存不会消失 -- 2、nginx重启才会删除缓存数据 特殊说明: 以上文章

    1.4K20编辑于 2022-08-24
  • 来自专栏天天

    H5缓存

    1.sessionStorage <script type="text/javascript"> var txt = document.querySelector('input'); var btns = document.querySelectorAll('button'); //存储数据 btns[0].onclick=function(){ sessionStorage.setItem('userName',txt.value); ses

    1.3K10发布于 2018-09-29
  • 来自专栏漫漫架构路

    5. 缓存模块

    缓存概述 对于缓存功能,相信大家都十分熟悉了。一旦我们发现系统的性能存在瓶颈需要优化时,可能第一时间想到的方式就是加缓存。 MyBatis 内部有所谓的一级缓存和二级缓存,这个会在后面的章节中详细阐述,本次仅讨论缓存的内部实现。 MyBatis 缓存定义 我们首先来看下 MyBatis 的 Cache 接口,它定义了缓存的基本行为: /** * MyBatis缓存接口 */ public interface Cache { 设置缓存内的元素数量上限为 512 个。 缓存淘汰策略是 LRU。 需要每隔 60s 需要对缓存进行清空。 小结 本篇详细介绍了 MyBatis 缓存模块的底层原理,包括缓存的基础实现、具备各种扩展功能的缓存装饰器,以及缓存 Key 的设计思想。

    41420编辑于 2023-10-12
  • 来自专栏Web 技术

    缓存】HTML5缓存的那些事

    ; 数据库:mySql\mongoDB…关系\非关系数据库; 内存:通常放置频繁要使用到的东西,能够提高读取效率;缓存(cache)也是存放在内存里的; HTML的存储-cookies 在HTML5出生之前 HTML的存储-UserData 只有IE支持,有微软提供API,但不符合W3C标准; 存储在XML文件中; HTML5的存储 针对以上问题,HTML5的出现,需要解决以下问题: 解决4K的大小问题; 解决请求头常带存储信息的问题; 解决关系型存储的问题; 跨浏览器平台问题; ##HTML5存储形式 本地存储——localstorage \sessionstorage 离线缓存——application v=1会被认为是不同文件,分别缓存; app cache适用场景 单地址页面 对实时性要求不要的业务 离线web应用 总结 在实际应用中,我们需要根据业务的需要来采取相应的缓存措施,如上所述,html5 关于HTML5缓存我们就介绍到这里。 参考 HTML5之IndexedDB使用详解

    1.4K50编辑于 2023-10-07
  • 来自专栏芯智讯

    欧盟将强制禁用华为5G设备!

    6月8日消息,据英国《金融时报》报道,欧盟正在考虑强制禁止成员国使用被认为对其电信网络可能构成安全威胁的公司的设备,因此,此前已经受到美国制裁的华为正面临另一项潜在打击。 此外,英国5G网络中正在使用的华为设备也必须在2027年前拆除。 2020年7月,法国宣布已经禁止华为参加其5G移动网络建设,并计划在2028年把华为的网络设备全部淘汰。 虽然欧盟正在考虑强制禁止成员国使用被认为对其电信网络可能构成安全威胁的公司的设备,但是不太可能很快改变规则以执行禁令,因为在当前欧盟委员会任期于 2024 年结束之前没有足够的时间通过立法。 外媒询问欧盟委员会是否正在考虑对华为等供应商实施强制禁令,但它没有立即回应。 根据华为公司披露的资料显示,早在 2009 年至 2013 年期间,华为就已在 5G 研究上投入超过 6 亿美元,然后又投入 14 亿美元用于产品开发,这使其在全球运营商着手投资5G网络时,成为了 5G

    49050编辑于 2023-08-09
  • 来自专栏全栈程序员必看

    vue页面强制刷新缓存不清除_vuex刷新页面数据

    beforeunloadHandler(e){ this.time = new Date().getTime(); if(this.is_fireFox){ this.time = -5

    3.9K30编辑于 2022-11-08
  • 来自专栏Micro_awake web

    HTML5 Web缓存&运用程序缓存&cookie,session

    在介绍HTML5 web缓存前,来认识一下cookie和session: session: 由于HTTP是无状态的,你是谁?你干了什么?抱歉服务器都是不知道的。 HTML5 web存储支持情况: IE8以上,现代浏览器。 HTML5运用程序缓存(Application Cache): 通过创建cache manifest文件,web运用可被缓存,并且无网络状态可以进行访问! Manifest文件: manifest是简单的文本文件,它告知浏览器被缓存的内容以及不被缓存的内容! manifest可分为三部分: CACHE MANIFEST:此项列出的文件将在首次下载后进行缓存! NETWORK:此项列出的文件需要与服务器进行网络连接,不会被缓存

    2.9K70发布于 2018-01-11
  • 来自专栏Golang语言社区

    H5移动开发--强制手机横屏显示

    在H5开发手机游戏中,横屏游戏还是主流;竖屏游戏思路一样,本节不做讨论。 直接上代码 <! html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>h5

    6.2K81发布于 2018-03-27
  • 来自专栏逸鹏说道

    探索ASP.NET MVC5系列之~~~5.缓存篇(页面缓存+二级缓存

    dunitian/p/4822808.html#mvc 本章Demo:https://github.com/dunitian/LoTCodeBase/blob/master/NetCode/6.网页基础/BMVC5/ MVC5Base/Controllers/CacheController.cs 这次来篇放松的,咱们不要老是说安全相关的东西。 缓存这东西并不是MVC独有的,N年前就有了,简单介绍一下平时项目里面使用的(Redis,Memcache等下次说) 1.页面缓存: ? 2.3数据库依赖缓存 1.启动一下数据库缓存依赖:管理员身份打开VS开发人员命令(参数详解:https://msdn.microsoft.com/zh-cn/library/ms229862) aspnet_regsql ,当里面数据发生改变则缓存失效,这样就可以及时自动更新缓存了(我这边只是做个演示) ?

    1.2K50发布于 2018-04-11
  • 来自专栏技术博文

    H5缓存机制浅析

    1 H5 缓存机制介绍 H5,即 HTML5,是新一代的 HTML 标准,加入很多新的特性。离线存储(也可称为缓存机制)是其中一个非常重要的特性。 H5 引入的离线存储,这意味着 web 应用可进行缓存,并可在没有因特网连接时进行访问。 根据标准,到目前为止,H5 一共有6种缓存机制,有些是之前已有,有些是 H5 才新加入的。 强制刷新页面(Ctrl+F5),浏览器会直接忽略本地的缓存(有缓存也会认为本地没有缓存),在请求中加上字段:Cache-Control:no-cache(或 Pragma:no-cache),发包向服务重新拉取文件 在实际应用中,为了解决 Cache-Control 缓存时长不好设置的问题,以及为了”消灭304“,Web前端采用的方式是: 在要缓存的资源文件名中加上版本号或文件 MD5值字串,如 common.d5d02a02

    2.3K80发布于 2018-04-16
  • 来自专栏前端大白专栏

    HTML5离线缓存技术

    原理和环境 如上面提到的HTML5的离线存储是基于一个新建的.appcache文件的,通过这个文件上的解析清单离线存储资源,这些资源就会像cookie一样被存储了下来。 就像cookie一样,html5的离线存储也需要服务器环境。 这里提供一个小工具——简易iis服务器,把它放在项目更目录下,双击运行即可模拟服务器环境。 : * FALLBACK 下面的 FALLBACK 小节规定如果无法建立因特网连接,则用 "offline.html" 替代 /html5/ 目录中的所有文件: ALLBACK: /html5/ /404 缓存立即执行 我们的产品已经更新了用户却要第二次进来才能够看到,这样用户体验也太差了吧,有什么方式能够解决呢?好在html5给javascript提供了相关的API。 注意事项 站点离线存储的容量限制是5M 如果manifest文件,或者内部列举的某一个文件不能正常下载,整个更新过程将视为失败,浏览器继续全部使用老的缓存 引用manifest的html必须与manifest

    4.4K70发布于 2018-06-15
领券