我们希望为使用过的图像,css和javascript设置expires标头以改进pagespeed,但是我们在修改css或js脚本时知道了缓存问题。
是否可以在加载xhtml的文件中添加元标记或其他标记,告诉浏览器刷新每个元素,无论在现有图像,css或js上设置什么缓存?
答案 0 :(得分:2)
您可能想要做的是静态内容的版本。所以说你有一个main.css文件然后你可以通过将它重命名为main_0.css(只是一个例子)来版本化,然后你将缓存过期设置为一年。如果您需要更新main.css,只需增加版本号并更新您的参考。然后所有客户都将获得最新版本。
有几种解决方案可以为您进行此版本控制,但这是基本原则..
我总是发现当有缓存相关问题时,theese资源非常有用:
希望这有帮助。
修改强>
这是一个版本控制解决方案(mod_pagespeed),它完成了我上面解释的内容:
答案 1 :(得分:2)
据我所知,没有这样的捷径。
即使它是 - 那将是什么意思?发送这样的头部将首先打败未来到期头的目的。
设置过期标头时,您需要为元素添加某种资产版本控制,例如<link rel="stylesheet" href="css/style.css?v=2">
更改资产的路径将实现相同的目标。
是的,这是一个麻烦。但是cache invalidation is a hard problem,真的没有简单的方法。
答案 2 :(得分:1)
是否可以在加载xhtml的文件中添加元标记或其他标记,告诉浏览器刷新每个元素,无论在现有图像,css或js上设置什么缓存?
据我所知。
我们希望为使用过的图片,css和javascript设置expires标头以改善pagespeed
我认为这是件好事。
但我们知道修改css或js脚本时的缓存问题。
如果您对CSS或JS进行了大幅度的更改,那么无论如何您都应该进行更改。通过将新的CSS和JS放在不同的路径上来管理这些更改,并在进行更改时更改HTML中的引用。这允许您: