为了账号安全,请及时绑定邮箱和手机立即绑定

通过Params中断缓存

通过Params中断缓存

开满天机 2019-06-24 16:37:09
通过Params中断缓存我们希望在生产部署上缓存半衰期,但不要浪费大量的时间来计算出这样做的系统。我的想法是用当前版本号对CSS和js文件的末尾应用一个Param:<link rel="stylesheet" href="base_url.com/file.css?v=1.123"/>两个问题:这会有效地破坏缓存吗?解析会不会导致浏览器从该url中缓存响应,因为param表示这是动态内容?
查看完整描述

3 回答

?
MYYA

TA贡献1868条经验 获得超4个赞

帕拉姆?v=1.123指示查询字符串,因此浏览器会认为它是一条新路径,例如,?v=1.0..从而导致它从文件加载,而不是从缓存加载。如你所愿。

而且,浏览器将假设下一次调用时源将保持不变。?v=1.123用那个字符串来缓存它。因此,不管您的服务器是如何设置的,它都将保持缓存状态,直到您移动到?v=1.124等等。


查看完整回答
反对 回复 2019-06-24
?
叮当猫咪

TA贡献1776条经验 获得超12个赞

将版本号放在实际文件名中更安全。这允许同时存在多个版本,因此您可以推出一个新版本,如果仍然存在请求旧版本的缓存HTML页面,它们将获得与其HTML一起工作的版本。

注意,在互联网上最大的版本部署之一中,jQuery在实际文件名中使用版本号,并且安全地允许多个版本共存,而不需要任何特殊的服务器端逻辑(每个版本只是一个不同的文件)。

当您部署新页面和新链接文件(这正是您想要的)时,缓存就会崩溃一次,从那时起,可以有效地缓存这些版本(您也希望如此)。


查看完整回答
反对 回复 2019-06-24
  • 3 回答
  • 0 关注
  • 404 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信