2009-02-18 71 views
1

我正在做一點點的Ajax,我得到一個靜態的HTML文件,實際上是不時在磁盤上更改。當然,IE有一個問題,它希望通過緩存我不想要的文件來提供幫助。我知道如何在抓取動態文件時解決這個問題:您只需更改動態文件中的標題即可。但是,我如何做這個靜態HTML文件?請注意,我使用的是Apache。如何設置不使用apache的html文件緩存頭?

感謝

回答

1

如果你可以使用mod_expires馬塞爾建議,可以隨時添加一個隨機的請求參數。

例如,您可以請求static_file.html?_=1231231231而不是請求static_file.html,並且每次更改該請求參數。

jQuery有這樣做的非常簡單的方法:

$.ajax({cache: false, url: static_file.html}); 
3

在Apache的水平,你可以設置使用指定mod_expires模塊文件的到期日。

從文檔:

該模塊控制所述過期HTTP報頭和在服務器響應的緩存控制HTTP標頭的最大年齡指令的設定。截止日期可以設置爲相對於源文件上次修改時間或客戶端訪問時間。

這些HTTP標頭是一條關於文檔的有效性和持久性的指示。如果緩存,文檔可能會從緩存中獲取,而不是從源中獲取,直到這段時間過去。之後,緩存副本被視爲「過期」並且無效,並且必須從源獲得新的副本。

更多細節在http://httpd.apache.org/docs/2.0/mod/mod_expires.html