我對緩存的工作方式知之甚少,或者對託管服務器的nginx有很大的控制。但是,我確實有一個需要更改的現場網站,因此您的建議將非常感謝。瀏覽器會使用不同的ETag緩存頁面嗎?
目前,我有以下三個文件:
index.html
my.js
my.css
所有文件都被服務(在我的瀏覽器)具有以下標題:
Date:Wed, 22 Feb 2012 23:17:49 GMT
ETag:"b2c84d1-7551-4b995b0c89c0"
Last-Modified:Wed, 22 Feb 2012 23:14:34 GMT
Server:nginx
有沒有任何其他的cache相關的標題。鑑於上述情況,如果我簡單地用新版本替換文件,我是否可以假設用戶的瀏覽器將不知道使用緩存版本? (我假設如果我替換文件,ETag將會改變。)
我想避免的情況是用戶的瀏覽器下載新版本index.html
但繼續引用緩存版本my.js
,因爲這很可能會破壞事物。我還想知道,如果我可以依靠用戶查看該網站的較新版本,或者某些用戶將繼續看到緩存版本。
感謝您的幫助。
謝謝!我沒有看到我的瀏覽器(Chrome)發送了您提到的任一If- *標頭,至少在我查看Developer Tools時看不到它們附加到請求。但我會接受你的說法,即更改內容並觸摸該文件,這意味着不需要緩存。感謝您的幫助。 – Richard 2012-02-23 01:27:23