2

我们遇到了 2 种方法来为我们的 CSS 文件进行缓存中断。

缓存断路器作为查询参数传递:

http://your1337site.com/styles/cool.css?v=123

缓存断路器作为名称的一部分:

http://your1337site.com/styles/123.cool.css

哪种方式更好?为什么?

我觉得第二种方式比较冗长,因为文件与文件夹结构上的名称匹配。如果您想在网站的其他部分共享“cool.css”,第一种方法很好,这些部分无法访问您每次生成的唯一名称。

4

1 回答 1

4

Steve Souder 的文章Revving Filenames: don't use querystring为将文件名更改为两者中更好的一个很好的论据。

...一位同事 Jacob Hoffman-Andrews 提到,流行的代理 Squid 不会使用查询字符串缓存资源。当代理缓存后面的多个用户请求同一个文件时,这会损害性能——而不是使用每个人都必须向源服务器发送请求的缓存版本。

顺便说一句,Squid 2.7 及更高版本使用默认配置缓存动态内容

于 2013-08-19T21:43:20.327 回答