有没有办法在下次访问网站时从客户端浏览器中替换或删除缓存的css和js文件?
答案 0 :(得分:2)
是的,给它一个版本号的排序。例如,客户端位于您的站点上并加载:
http://path/to/cssFile.css?version=1.001
如果您更改此项并添加版本号,当他们再次访问时,他们会再次下载,例如
<h3>Select your favorite sports:</h3>
<label>
<input type="checkbox" value="football" name="football"> Football</label>
<label>
<input type="checkbox" value="baseball" name="baseball"> Baseball</label>
答案 1 :(得分:0)
答案 2 :(得分:0)
设置过期日期标头后,客户端/缓存服务器会将其缓存到该URL的指定日期。描述缓存机制在这里写得很长......(如果你不熟悉谷歌吧)
你无法控制它。但!如果您更改URL,客户端会认为它是新资源,并再次从您的服务器获取它。所以尝试在你的资源之后使用假查询来制作技巧。
而不是
http:/example.com/static/style_main.css
使用:
http:/example.com/static/style_main.css?t=1234
当你认为是时候改变它时会增加数字。
===
如果你很好地调整了你的应用程序并使用像Apache或nginx这样的优秀网络服务器来提供这些静态文件,他们会毫不费力地为你处理它。因为客户端会要求服务器提供最新版本,并且如果之前已经更改,它将以403 Not Modified或文件内容进行响应。
如果您的JS / CSS是动态更改的,那么最好的方法是明确设置其标头不要缓存。