【问题标题】:Downsides to using querystrings to version static files?使用查询字符串版本静态文件的缺点?
【发布时间】:2011-04-19 14:41:41
【问题描述】:

似乎为了强制用户刷新缓存的静态文件(例如 .css、.js),某些网站(例如 stackoverflow.com)会将查询字符串附加到文件末尾。例如:

<link rel="stylesheet" type="text/css" href="http://sstatic.net/stackoverflow/all.css?v=9ea1a272f146">

我认为这是一个好主意,并且我也倾向于开始这样做。但是,我听说有一些缺点,例如如果存在查询字符串,代理无法正确缓存文件。

这种类型的版本控制有什么缺点?

【问题讨论】:

    标签: caching versioning static-content


    【解决方案1】:

    我只知道一个缺点:代理缓存(如您所说):

    http://www.stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring/

    http://paulirish.com/2010/announcing-html5-boilerplate/#comment-34976

    (我从 http://www.html5boilerplate.com 的 cmets 中了解到这些)

    不过,受此影响的用户百分比应该非常低。我已经使用这种技术很长一段时间了,现在还在使用。

    【讨论】:

    • 我同意。这是我使用了一段时间的解决方案,效果很好。如果您能够轻松地以编程方式更改文件名和对其的所有引用,那很好,但另一方面,我认为查询参数解决方案是最好的选择之一。
    • 您的链接非常有帮助,谢谢。我分析了我的 IIS 日志,但我似乎只收到了来自代理的少数请求,所以在我的情况下,不利因素似乎可以忽略不计。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-07
    • 1970-01-01
    • 1970-01-01
    • 2015-11-14
    • 1970-01-01
    相关资源
    最近更新 更多