我们希望为使用过的图像、css和javascript设置expire头来提高页面速度,但我们知道在修改css或js脚本时会出现缓存问题。
是否可以在加载xhtml的文件中添加meta或其他标记,以告知浏览器刷新每个元素,而不管在现有图像、css或js上设置了什么缓存?
发布于 2011-05-05 16:47:14
你可能想做的是对你的静态内容进行版本控制。假设您有一个main.css文件,那么您可以通过将其重命名为main_0.css (只是一个示例)来对其进行版本控制,然后将缓存过期时间设置为一年。如果您需要更新main.css,只需增加版本号并更新您的引用即可。然后所有客户端都将获得最新版本。
有几个解决方案可以为您完成此版本控制,但这是基本原则。
我总是发现这些资源在有缓存相关的问题时非常有用:
希望这能有所帮助。
编辑
下面是一个版本控制解决方案(mod_pagespeed),它完成了我上面解释的工作:
发布于 2011-05-05 16:52:15
据我所知,没有这样的捷径。
即使是这样--又有什么意义呢?发送这样的报头将首先违背未来到期报头的目的。
在设置过期标头时,您需要向元素添加某种类型的资产版本控制,例如<link rel="stylesheet" href="css/style.css?v=2">
更改资产的路径也会达到同样的目的。
是的,这是一个麻烦。但是cache invalidation is a hard problem,真的没有简单的方法可以绕过它。
发布于 2011-05-05 16:47:33
是否可以在加载xhtml的文件中添加meta或其他标记,以告知浏览器刷新每个元素,而不管在现有图像、css或js上设置了什么缓存?
据我所知没有。
我们想要为使用的图像,css和javascript设置过期标头,以提高页面速度
在我看来,这是一件好事。
,但我们知道在修改css或js脚本时会出现缓存问题。
如果您正在对CSS或JS进行重大更改,那么无论如何您都应该准备好这些更改。通过将新的CSS和JS放在不同的路径上来管理这些更改,并在进行更改时更改HTML中的引用。这使您可以:
https://stackoverflow.com/questions/5894772
复制相似问题