通过params缓存清除 [英] Cache busting via params

查看:154
本文介绍了通过params缓存清除的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们想要在生产部署中缓存毛坯,但是不要浪费大量的时间来制定一个这样做的系统。我的想法是应用一个param到当前版本号的css和js文件的结尾:

We want to cache bust on production deploys, but not waste a bunch of time off the bat figuring out a system for doing so. My thought was to apply a param to the end of css and js files with the current version number:

<link rel="stylesheet" href="base_url.com/file.css?v=1.123"/>

两个问题:这会有效地打破缓存吗?参数是否会导致浏览器从不缓存来自该url的响应,因为param指示这是动态内容?

Two questions: Will this effectively break the cache? Will the param cause the browser to then never cache the response from that url since the param indicates that this is dynamic content?

推荐答案

param ?v = 1.123 表示一个查询字符串,因此浏览器会认为它是一个新路径,例如?v = 1.0 。因此导致它从文件加载,而不是从缓存加载。你想要的。

The param ?v=1.123 indicates a query string, and the browser will therefore think it is a new path from, say, ?v=1.0. Thus causing it to load from file, not from cache. As you want.

而且,浏览器会假设下次调用?v = 1.123 应该使用该字符串缓存。因此,在您移动到?v = 1.124 等之前,它将保持缓存,但是您的服务器已设置。

And, the browser will assume that the source will stay the same next time you call ?v=1.123 and should cache it with that string. So it will remain cached, however your server is set up, until you move to ?v=1.124 or so on.

这篇关于通过params缓存清除的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆