首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何浏览器缓存文件

本文重点总结下如何可以浏览器缓存静态资源,保证每次获取的都是最新的资源。 浏览器缓存 想知道如何不缓存文件,就需要先了解浏览器是怎么判断是否要缓存文件的。这里要引出一个概念,那就是浏览器缓存。...该方法不适用于特定文件缓存的要求。 应用 掌握了以上缓存缓存的方式,接下来该进行实战了。...那么可以考虑将需要动态替换的文本配置放入.env文件,并在打包的时候,将.env文件的配置暴露出去成为JS文件,这样就可以打包后进行修改JS文件,配置实时生效。...打包后可以修改配置文件里的值,并且确保浏览器不会对该文件进行缓存后,刷新浏览器便可以得到最新的替换文本。这里我采用了使用随机数的方式来浏览器缓存文件。...也总结了如何浏览器缓存文件,方式包括: Cache-control: no-store 静态资源文件增加版本号 静态资源文件增加随机数 使用meta标签禁用缓存 最终使用了静态资源文件后面拼接时间戳的方式来达到缓存文件的目的

2.3K30
您找到你想要的搜索结果了吗?
是的
没有找到

使用Filter指定浏览器缓存缓存服务器数据

使用Filter指定浏览器缓存缓存服务器数据      在www.jdon.com上, 彭先生说缓存的设计是提高java系统表现能力的关键.缓存的合理应用在jive论坛上的表现是最有说服利的地方...下面我们利用HTTP 规范1.1中对请求头类型Cache-Control的定义来说明如何利用在Filter机制实现Http请求的缓存或者缓存。       ...这里我们列举的例子是缓存一个图片,比如网站的logo。我们可以指定客户端浏览器缓存对这个logo缓存,或缓存,以及多长时间的缓存。       ...注意:为了记录Tomcat相应的浏览器请求的日志,需要把: /conf/server.xml 文件中的  <Valve className="org.apache.catalina.valves.RequestDumperValve...根据Http1.1的规范,有两种方式来<em>让</em><em>浏览器</em><em>缓存</em>数据:  1、if-modified-since HTTP request header  2、cache-control  当然如果<em>不</em><em>缓存</em>数据可以用如下的配置

77710

WordPress 开发之浏览器自动加载最新的CSS、JS文件(免刷新缓存

在开发WordPress 主题的时候,如果频繁更新主题的CSS、JS文件但主题已经上线,如何访客的浏览器获取最新的CSS、JS文件而非等到浏览器删除缓存后?下面就介绍一个简单的方法。...如何版本号自动更新(即?v=后面的数字自动更新)? 时间戳 ? ? 想必你也知道了,用时间戳代替版本号。在WordPress 中,用时间戳代替版本号的处理方式可以更加方便一点。.../css/style.css', NULL, filemtime($css_file) ); } js文件的话依照上面的照搬即可实现。...如此一来,就能保证浏览器每次访问都是最新的css、js文件,而非采用缓存。 本文参考国外网站paulund,感谢原作者!如有错误,欢迎雅正!

4.9K100

WordPress 开发之浏览器自动加载最新的CSS、JS文件(免刷新缓存

在开发WordPress 主题的时候,如果频繁更新主题的CSS、JS文件但主题已经上线,如何访客的浏览器获取最新的CSS、JS文件而非等到浏览器删除缓存后?下面就介绍一个简单的方法。...如何版本号自动更新(即?v=后面的数字自动更新)? 时间戳 ? ? 想必你也知道了,用时间戳代替版本号。在WordPress 中,用时间戳代替版本号的处理方式可以更加方便一点。.../css/style.css', NULL, filemtime($css_file) ); } js文件的话依照上面的照搬即可实现。...如此一来,就能保证浏览器每次访问都是最新的css、js文件,而非采用缓存。 本文参考国外网站paulund,感谢原作者!如有错误,欢迎雅正!

4.6K80

HTTP缓存,浏览器缓存

前端缓存 可分为两大类:http缓存浏览器缓存。我们今天重点讲的是http缓存,所以关于浏览器缓存大家自行去查阅。...下面这张图是前端缓存的一个大致知识点: HTTP 缓存策略分为两种: 强缓存 和 协商缓存 ,这两种缓存策略都是服务端设置 HTTP Header 来实现的 (一)强缓存缓存的意思很简单,直接从浏览器缓存过的本地进行读取...,不会去请求服务器 s-maxage:这个和上面的一样,只不过这个设置的是代理服务器的缓存时间 privte:这个表示缓存只能被客户端的浏览器缓存,不能被代理服务器缓存 public:这个表示缓存既可以被浏览器缓存...,也可以被代理服务器缓存 no-store:这个属性表示缓存,在任何情况下,都是与服务器进行最新的交互 no-cache:这个并非缓存的意思,这个表示强制进行协商缓存,会在下面描述 (二)协商缓存...协商缓存表示在使用本地的缓存之前,会先向服务器发一个请求,与服务器协商当前浏览器缓存是否已经过期了,如果没过期,那么就使用本地的资源,如果过期了就去请求最新资源。

81250

浏览器缓存

HTTP header 缓存工作原理 浏览器发起请求的时候,根据请求头的 express 和 cache-control 来判断是否命中强缓存,如果是,怎直接从缓存读取资源,不会发起请求。...如果没有命中强缓存浏览器会发起一个请求到服务端,并通过 last-modified If-modified-since 和 etag if-none-match 判断资源是否命中协商缓存,如果命中,...如果没有命中缓存,则发起请求,直接从服务器加载资源。...cookie:4kb,可以手动设置过期时间 localStorage:5M,手动清除一直存在,可以跨标签访问 sessionStorage:5M,不可以跨标签访问,窗口回话结束自己清除 indexDB...:浏览器数据库,无限容量,除非手动清除,否则一直存在 webSQL:关系数据库,废弃

76910

浏览器缓存

浏览器访问服务器端,服务器给予响应时,服务器会根据需求/场景在响应头里告知浏览器,将以下数据缓存下来:把这次请求得到的响应体缓存到本地文件中标记这次请求的请求方法和请求路径根据服务器返回值,标记缓存(...过期)时间记录服务器这次响应时间,格式为格林威治时间标记录服务器给予的资源编号标记录资源的上一次修改时间,格式为格林威治时间当浏览器再次请求时,会优先去缓存里查找,有没有命中的缓存,没有的话,即立即请求...一般设置其中任意一个字段都可实现强缓存策略,当两个字段同时存在时,max-age优先级会高于Expires。如果命中了强缓存浏览器控制台的http状态码仍旧是200。...可以理解为,没有强缓存,但是会有协商缓存协商缓存如果设置了no-cache,以及max-age(max-age=0为立即过期)过期了,这么着就命中了协商缓存,此时浏览器向服务器端请求,服务器端返回304...,即缓存有效,使用缓存数据;如果返回200,即缓存失效,使用服务器端最新数据除此之外,两者还有以下一些区别:强缓存其实更多的发生在浏览器端,而 协商缓存更多的在服务器端在浏览器强制刷新的情况下,强缓存不会生效

36040

浏览器缓存

浏览器缓存分为强缓存和协商缓存。...,服务器通过另⼀些 request header 验证这个资源是否命中协商缓存,称为 http 再验证,如果命中,服务器将请求返回,但 返回资源,⽽是告诉客户端直接从缓存中获取,客户端收到返回后就会从缓存中获取资...源; 强缓存和协商缓存共同之处在于,如果命中缓存,服务器都不会返回资源; 区别是,强缓 存不对发送请求到服务器,但协商缓存会; 当协商缓存也没命中时,服务器就会将资源发送回客户端; 当 ctrl+f5...强制刷新⽹⻚时,直接从服务器加载,跳过强缓存和协商缓存; 当 f5 刷新⽹⻚时,跳过强缓存,但是会检查协商缓存; 强缓存缓存 表示在缓存期间不需要请求,state code 为 200, 有两种实现方式...:max-age (该字段是 http1.1 的规范,强缓存利⽤其 max-age 值来判断缓存资源的最⼤⽣命周期,它的值单位为秒) 协商缓存 如果缓存过期了,我们就可以使用协商缓存来解决问题。

73620

浏览器缓存

文章目录[隐藏] 强缓存 协商缓存缓存缓存时,客户端直接从缓训中获取数据。没有时,从服务端取数据。...注意:协商缓存和强缓存的重要区别,强缓存下的客户端请求服务器接收不到,协商缓存下的客户端请求服务端时可以接受到只是做在服务端进行数据对比,判断资源是否更新; 协商缓存与强缓存的区别 强缓存都会访问本地缓存直接验证看是否过期...但协商缓存本地缓存会被忽略,会去请求服务器验证资源是否更新,如果没更新才继续使用本地缓存,此时返回的是 304,这就是协商缓存。协商缓存主要包括 Last-Modified 和 Etag。...,在使用缓存前,不管缓存资源是否过期了,都必须进行校验 客户端提醒缓存服务器,在使用缓存前,不管缓存资源是否过期了,都必须进行校验 max-age=[秒] 秒 如果缓存资源的缓存时间值小于指定的时间值,...否则返回504网关超时 无 public 无 明确指明其他用户也可以使用缓存资源 private 无 缓存服务器只给指定的用户返回缓存资源,对于其他用户返回缓存资源

72830

浏览器缓存

本文作者:IMWeb 存勖闲 原文出处:IMWeb社区 未经同意,禁止转载 原文链接:http://www.cun-xu.cn/index.php/2018/12/26/浏览器缓存/ 今天我们来说一下浏览器缓存的问题...浏览器缓存是一种操作简单、效果显著的前端性能优化手段。...Expires是Web服务器响应消息头字段,在响应http请求时告诉浏览器在过期时间前可以直接从浏览器缓存取数据,而无需再次请求。...我们发现,Base64格式的图片,几乎永远可以被塞进memory cache,这可以视作浏览器为节省渲染开销的“自保行为”;此外,体积不大的 JS、CSS 文件,也有较大地被写入内存的几率——相比之下,...较大的 JS、CSS 文件就没有这个待遇了,内存资源是有限的,它们往往被直接甩进磁盘。

1.8K10

节点缓存VS浏览器缓存

浏览器缓存策略: 强制缓存:当浏览器向服务器发起请求时,服务器会将缓存规则放入HTTP响应报文的HTTP头中和请求结果一起返回给浏览器,控制强制缓存的字段分别是Expires和Cache-Control...问题描述: 客户反馈将域名vodtest.xiaobli.xyz “全部文件缓存” 的策略删除后,访问如下url文件,CDN节点和浏览器均会缓存住,不符合预期。...客户反馈的这个url,源站没有这2个头部,按理应该缓存。但由于该文件CDN节点缓存后,会默认加上Cache-Control: max-age=600,才导致浏览器缓存住了。...1、在当前缓存策略的基础上,新增一条“全部文件缓存”(优先级最低)的兜底策略,控制台操作即可。...image.png 2、针对CDN侧没有设置明确缓存策略的文件类型,源站需要返回Cache-Control:no-cache之类的缓存头部。

1.2K81

web浏览器缓存机制_网站利用浏览器缓存

浏览器缓存机制之一(经典缓存) 因为在接手的项目中用到过比较新的HTML5应用缓存,也用到了经典的缓存如设置max-age,Etag之类,而之前一直就是在用着没有去深究其中原理。...1.关于浏览器缓存 记得去年看《HTTP权威指南》的时候,有一章是专门讲浏览器缓存的,一年时间过得太快,逝去的时光还真是如同人群中消失的好姑娘,眼看她嫁给别人。...我这里把浏览器缓存分为经典的浏览器缓存(以下简称为经典缓存)和HTML5应用缓存这两类。...3.用户行为与缓存 用户行为也会影响浏览器缓存机制。...本站仅提供信息存储空间服务,拥有所有权,承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

86320

通过 Node.js 小示例学习浏览器缓存策略

单纯讲一些理论性的东西可能会很难理解,本文结合一些 Node.js 小示例来学习浏览器缓存策略。...,该文件会请求 http://localhost:3010/script.js 如果 url 等于 /script.js 设置 cache-control 的 max-age 进行浏览器缓存。...是因为我们请求的 url /script.js 没有变,那么浏览器就不会经过服务端的验证,会直接从客户端缓存去读,就会导致一个问题,我们的js静态资源更新之后,不会立即更新到我们的客户端,这也是前端开发中常见的一个问题...,我们是希望浏览器缓存我们的静态资源文件(js、css、img等)我们也希望服务端内容更新了之后客户端还是请求的缓存的资源, 回答第二个问题 在使用webpack等一些打包工具时,为什么要加上一串hash...现在我们要达到 304 的效果,走强缓存直接走协商缓存,修改我们的响应,设置 Cache-Control=max-age=0 修改如下: response.writeHead(200, { '

1.3K30
领券