我们希望为使用过的图片,css和javascript设置expires头文件来改善pagespeed,但是我们在修改css或js脚本时意识到缓存问题。智能解决方案expires头文件
是否可以在加载xhtml的文件中添加元标记或其他标记,该标记告诉浏览器刷新每个元素,而不管现有图像,css或js上设置了什么缓存?
我们希望为使用过的图片,css和javascript设置expires头文件来改善pagespeed,但是我们在修改css或js脚本时意识到缓存问题。智能解决方案expires头文件
是否可以在加载xhtml的文件中添加元标记或其他标记,该标记告诉浏览器刷新每个元素,而不管现有图像,css或js上设置了什么缓存?
你可能想要做的是版本你的静态内容。所以你说你有一个main.css文件,那么你可以通过将它重命名为main_0.css来进行版本化(只是一个例子),然后你将缓存设置为一年。如果您需要更新main.css,只需增加版本号并更新您的引用。然后所有客户将获得最新版本。
有几种解决方案,可以为你做这个版本,但是这是基本原则..
具有高速缓存相关的问题时,我经常发现theese资源非常有用:
希望这会有所帮助。
编辑
这里是一个版本的解决方案(的mod_pagespeed),做什么我上面所解释的:
是否有可能加元或其他标记在加载xhtml的文件中,该标记告诉浏览器刷新每个元素,而不管现有的i上设置了什么缓存法师,CSS或JS?
不是我所知道的。
我们要设置为过期使用的图像,CSS和JavaScript头改善的PageSpeed
这在我看来是一件好事。
但我们知道修改css或js脚本时的缓存问题。
如果您对CSS或JS做出了重大更改,那么您应该正在进行更改。通过将新的CSS和JS放在不同的路径上来管理这些更改,并在进行更改时更改HTML中的引用。这使您可以:
据我所知,没有这样的捷径。
即使是这样 - 重点是什么?发送这样的头文件首先会挫败将来到期头文件的目的。
当设置过期头,你需要某种形式的资产版本添加到您的元素,如<link rel="stylesheet" href="css/style.css?v=2">
路径更改为资产将达到同样的目的。
是的,这是一个麻烦。但是cache invalidation is a hard problem,真的没有简单的方法。
我喜欢你的编辑,但也有一些像IIS一样的东西吗? – 2011-05-20 08:37:04
不是我意识到,如果我是你我只要安装apache2 + mod_pagespeed并将请求转发给IIS – netbrain 2011-05-20 08:55:43