2010-12-18 60 views
2

1)我對設置緩存css和js文件的頭文件失效日期 的目的感到困惑(比如它如何在 Boilerplate .htaccess文件中完成)。Boilerplate Cache Busting問題

我以爲網頁瀏覽器會自動緩存css和js文件。 設置標題過期日期有什麼意義?

2)有沒有辦法不使用css和js文件的版本控制,並且 仍然會在他們上傳到服務器時自動更新。 我試着設置一個較低的失效日期(「access plus 1 week」和「access plus 0 seconds」),當我上傳更新後的css和js文件時,瀏覽器仍然顯示舊的緩存副本 。儘管如此,我並不是100%確定我正確地做了這個 。

謝謝:)

+1

..所以你認爲是http://html5boilerplate.com/? – zack 2010-12-18 10:38:20

+0

是的:)該死的,我需要更多的字符^ _^ – 2010-12-18 20:03:14

+0

你應該總是設置標題告訴瀏覽器(或代理)你希望你的內容緩存(或不) - 依靠瀏覽器來猜測它意味着它會至少在某些時候猜猜它是錯的。更重要的是,如果你有一張圖片需要緩存很長時間,那麼設置一個頭部是確保相應緩存的最好方法。 – scunliffe 2011-03-19 23:59:38

回答

1

1)某些瀏覽器不緩存沒有過期日期的東西。

2)嘗試將一個get變量追加到URL字符串的末尾,以指向新版本的網站以忽略先前版本的緩存。這個想法是將你的urlstring轉換成類似www.example.com/?v=1的東西,然後當你將其更改爲www.example.com/?v=2時,瀏覽器無法識別此URL,因此它不使用任何緩存文件。當用戶返回到www.example.com/?v=2它將訪問您網站的v2的緩存文件

+0

我想知道的是,如果有一種方式讓瀏覽器獲得更新的文件而不必使用緩存。 – 2010-12-18 04:48:38

+0

錯誤...沒有版本控制,沒有緩存 – 2010-12-18 06:58:46

+0

不。瀏覽器需要將該文件視爲新文件。否則,它只會加載它在緩存中的內容。 – scunliffe 2011-03-20 00:00:54