2012-04-09 129 views
0

我有關於禁用瀏覽器緩存的問題。我已經找到了一些解決方案,只是想知道是否有更好或更常見的方法。所以我GWT應用程序,並以禁用兌現我可以用接下來的選項:如何以編程方式禁用瀏覽器緩存

  1. 添加到URL僞參數
  2. 把HTML頁面上<meta http-equiv="pragma" content="no-cache">
  3. 設置HTTP頭:

    header("Pragma-directive: no-cache"); 
    header("Cache-directive: no-cache"); 
    header("Cache-control: no-cache"); 
    header("Pragma: no-cache"); 
    header("Expires: 0"); 
    
+0

它已經問我猜。檢查這個[鏈接](http://stackoverflow.com/questions/2558779/how-to-programmatically-disable-html-caching-with-gwt) – AurA 2012-04-09 11:23:52

+1

你列出的頭包括一些幻想/一廂情願的想法。 'expires:0'是一個語法錯誤,'* -directive'是無意義的,'Pragma:no-cache'自90年代末以來就不相關。唯一重要的是'Cache-control:no-cache'。 ''無法工作,因爲它在解析之前被緩存。 – Kornel 2012-04-09 11:28:18

+0

那麼,我應該使用第一個選項?但這對我來說是最不方便的。我寧願使用選項3。 – IgorDiy 2012-04-09 11:32:24

回答

1

最重要的是

header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); #Expires sometime in the past 
header("Cache-control: no-cache");     #Disables caching 

此外,請將唯一參數添加到網址以確保。如果您使用瀏覽器後退按鈕,有時整個DOM將被緩存,並且不會提取任何新內容,除非您使用JavaScript動態地執行此操作,並向請求中添加唯一的ID。

通常,您希望在服務器配置中設置大部分這些標頭,以便您可以使用正確的標頭也可以提供普通圖像和其他靜態內容。

相關問題