2012-06-14 72 views

回答

8

爲了開發目的,您可以使用Ctrl + R或Ctrl + F5,它們應該不發送緩存頭,因此從服務器請求資源而不緩存。這被稱爲硬刷新。

但是,不要指望用戶使用Ctrl + R/F5,如果你想未緩存的資源總是發送給用戶,使用Cache busterGoogle search for cache buster

Web瀏覽器使用URL來確定他們是否已經知道資源,因此訪問相同的URL將使Web瀏覽器檢查他是否訪問過此URL,從而允許它發送它擁有的資源的特定標題並驗證資源是否在服務器上更改。

高速緩衝存儲器總線正如名字所說的用於高速緩存並總是重新加載資源。 這裏是緩存破獲網址爲例:

<script type="text/javascript" src="/static/js/some.js?bust=12356"></script> 

注:它可以是任何名稱,而不是「蕭條」。

總是有一個獨特的蕭條的好方法是使用Unix紀元時間(從2001年1月1日開始傳遞的秒數,每種語言都提供了一些函數來獲取該數字),另一個常用的解決方案是一些隨機數。這樣瀏覽器將始終從Web服務器獲取資源。

+0

我沒有downvote你,但鏈接不是答案。至少要舉一個「高速緩衝存儲器」的例子(或者把它放在外行人的角度,只需將一個隨機生成的查詢字符串附加到src'屬性,它根本不會修改該文件,並強制它成爲每次都重新下載)。 –

+0

@FabrícioMatté謝謝您的批評!我一直努力改善自己和我的回答,並儘可能地回饋社區。我修改了我的答案,對web瀏覽器緩存和緩存攔截器的例子有一些基本的理論解釋。 –

+0

查詢不保證「破解」緩存。例如,如果沒有明確禁止使用標題,IE會很樂意繼續提供緩存的內容。 –