2010-09-30 33 views
6

看來,爲了強制用戶刷新緩存的靜態文件(例如,.css,.js),一些站點(例如,stackoverflow.com)將querystrings附加到文件末尾。例如:使用querystrings版本靜態文件的缺點?

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

我認爲這是一個好主意,而且我也傾向於開始這樣做。但是,我聽說有缺點,如代理不正確緩存文件,如果查詢字符串存在。

這種類型的版本的缺點是什麼?

回答

4

只有一個缺點,我知道的:代理緩存(如你所說):

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發現了這些)不過,受此影響的用戶比例應該很低。我已經使用這種技術很長一段時間了,現在仍然如此。

+0

我同意。這是我用了一段時間的解決方案,它工作得很好。如果你能夠輕鬆地,程序化地更改文件名和所有對它的引用,那麼很好,但其他方面,我認爲查詢參數解決方案是最好的選擇之一。 – Snekse 2010-09-30 22:40:52

+0

您的鏈接非常有幫助,謝謝。我分析了我的IIS日誌,我似乎只能得到代理的一些請求,所以在我的情況下,這個缺點似乎可以忽略不計。 – Jones 2010-09-30 23:01:26