【问题标题】:Boilerplate Cache Busting Question样板缓存破坏问题
【发布时间】:2010-12-18 03:27:28
【问题描述】:

1) 我对设置标头到期日期的目的感到困惑 用于缓存 css 和 js 文件(就像它在 样板 .htaccess 文件)。

我认为网络浏览器会自动缓存 css 和 js 文件。 设置标题过期日期有什么意义?

2) 有没有办法不使用 css 和 js 文件的版本控制和 当我将它们上传到服务器时,它们仍然会自动更新。 我尝试设置较低的到期日期(“访问加 1 周”和“访问 加 0 秒”)并且浏览器仍在显示旧的缓存副本 当我上传更新的 css 和 js 文件时。我不是 100% 确定我这样做了 不过是正确的。

谢谢:)

【问题讨论】:

  • ..所以你指的是html5boilerplate.com
  • 是的 :) 该死,我需要更多字符 ^_^
  • 您应该始终设置标题以告诉浏览器(或代理)您希望如何缓存(或不缓存)您的内容 - 依靠浏览器为您猜测它意味着它至少会猜错一些的时间。更重要的是,如果你有一张图片想要缓存很长时间,那么设置标题是确保它得到相应缓存的最佳方式。

标签: javascript css browser-cache


【解决方案1】:

1) 某些浏览器不会缓存没有过期日期的内容。

2) 尝试在新版本网站的 URL 字符串末尾附加一个 get 变量,以忽略以前版本的缓存。想法是将您的 urlstring 转换为 www.example.com/?v=1 之类的东西,然后当您将其更改为 www.example.com/?v=2 时,浏览器无法识别此 url,因此它不使用任何缓存文件。当用户返回www.example.com/?v=2 时,它将访问您网站的v2 的缓存文件

【讨论】:

  • 我想知道是否有办法让浏览器无需使用缓存即可获取更新的文件。
  • err...没有版本控制,没有缓存
  • 没有。浏览器需要将该文件视为一个新文件。否则它只会加载缓存中的内容。
猜你喜欢
  • 2018-03-14
  • 2012-10-08
  • 2012-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-19
  • 1970-01-01
相关资源
最近更新 更多