2011-05-05 85 views
1

我们希望为使用过的图片,css和javascript设置expires头文件来改善pagespeed,但是我们在修改css或js脚本时意识到缓存问题。智能解决方案expires头文件

是否可以在加载xhtml的文件中添加元标记或其他标记,该标记告诉浏览器刷新每个元素,而不管现有图像,css或js上设置了什么缓存?

回答

2

你可能想要做的是版本你的静态内容。所以你说你有一个main.css文件,那么你可以通过将它重命名为main_0.css来进行版本化(只是一个例子),然后你将缓存设置为一年。如果您需要更新main.css,只需增加版本号并更新您的引用。然后所有客户将获得最新版本。

有几种解决方案,可以为你做这个版本,但是这是基本原则..

具有高速缓存相关的问题时,我经常发现theese资源非常有用:

  1. http://code.google.com/intl/no/speed/page-speed/docs/caching.html
  2. http://code.google.com/intl/no/speed/page-speed/docs/filters.html

希望这会有所帮助。

编辑

这里是一个版本的解决方案(的mod_pagespeed),做什么我上面所解释的:

  1. http://code.google.com/intl/no/speed/page-speed/docs/filter-cache-extend.html
+0

我喜欢你的编辑,但也有一些像IIS一样的东西吗? – 2011-05-20 08:37:04

+0

不是我意识到,如果我是你我只要安装apache2 + mod_pagespeed并将请求转发给IIS – netbrain 2011-05-20 08:55:43

1

是否有可能加元或其他标记在加载xhtml的文件中,该标记告诉浏览器刷新每个元素,而不管现有的i上设置了什么缓存法师,CSS或JS?

不是我所知道的。

我们要设置为过期使用的图像,CSS和JavaScript头改善的PageSpeed

这在我看来是一件好事。

但我们知道修改css或js脚本时的缓存问题。

如果您对CSS或JS做出了重大更改,那么您应该正在进行更改。通过将新的CSS和JS放在不同的路径上来管理这些更改,并在进行更改时更改HTML中的引用。这使您可以:

  • 瞬间铺开/回
  • 通过动态地生成这些引用
  • 网络日志做选择性的推出,现在跟进的bug报告
  • 避免短的任何问题提供明确的审计线索长期缓存CSS和JS
2

据我所知,没有这样的捷径。

即使是这样 - 重点是什么?发送这样的头文件首先会挫败将来到期头文件的目的。

当设置过期头,你需要某种形式的资产版本添加到您的元素,如<link rel="stylesheet" href="css/style.css?v=2">

路径更改为资产将达到同样的目的。

是的,这是一个麻烦。但是cache invalidation is a hard problem,真的没有简单的方法。