使用查询字符串缓存失效,不好的做法?

时间:2016-05-13 07:52:06

标签: javascript css caching web

在我制作的网站上,我通常使用query-string参数使css和js的缓存无效。像这样:

Image

注意:这是Chrome检查器的屏幕截图,这些查询字符串全部由我在渲染到浏览器时制作的小系统自动附加。

一位朋友现在告诉我,使用查询字符串并不像文件名本身或文件名之前路径中的某处更改文件名一样好。他还发送了an article along with,在这里他们主要谈论人们使用代理时的糟糕表现。

然而,这篇文章是8岁。我想知道,它仍然是一个有效点吗?我应该关心吗?这真的是一种不好的做法吗?

干杯,
沃特

3 个答案:

答案 0 :(得分:3)

查询字符串缓存失效确实不是最佳做法。有些情况下它不起作用......某些浏览器(据称),而您的CDN可能设置为忽略查询字符串(提供相同的文件)。但这并不意味着它对开发工作流程没有效果​​,也不意味着它可以解决问题。

有些人强烈认为查询字符串不够好。对于专业网站(特别是持续集成),您应该根据上次更新日期或文件内容的散列使用文件名。

关于主题的链接......

答案 1 :(得分:0)

好吧,如果Google为您提供了有关如何正确执行此操作的教程,那么我想它必须得到很好的支持。

https://cloud.google.com/cdn/docs/cache-invalidation-overview

答案 2 :(得分:-2)

如果您目前正在开发自己的网站,那么您将真正使用附加到资源链接的随机查询字符串。与<a href="header.js?noCache=<?= time(); ?>">

一样

但是你已经说过,这项工作已经有8年了,所以暂停一些资源可能会有好处吗?

是的,非缓存版本的工作速度比缓存速度慢。