js清除快取以及jsp快取 部分常用

2022-05-10 19:54:15 字數 2157 閱讀 8943

參考:

瀏覽器快取機制

瀏覽器快取的一些問題的處理方法

部分瀏覽器快取問題的解決方案

1.get請求快取處理,不想要快取get請求?

瀏覽器會快取get請求,不會快取post請求,因此解決為:

方法1:get請求url後加隨機數,讓伺服器認為是不同的請求,如:""+new date().gettime();

方法2:在ajax傳送請求前加上xmlhttprequest.setrequestheader("if-modified-since","0");

方法3:在ajax傳送請求前加上xmlhttprequest.setrequestheader("cache-control","no-cache");

方法4:若為jquery ajax, 設定ajax屬性cache:false;(注意:cache屬性對post沒有用,對get才有用)

方法5:在伺服器端響應請求時加上response.setheader("cache-control","no-cache,must-revalidate");

方法6:

使用post代替get,瀏覽器不會對post做快取

注意:為什麼cache屬性對post沒有用,對get才有用?

因為1.瀏覽器快取url請求原理就是判斷url是否相同,url相同則讀取快取,url不相同則讀取伺服器

2.使用get方式提交url類似"而post方式提交url類似引數是在請求  head裡的,不在url上,請求引數url始終相同

3.jquery ajax get方式提交: data: "t=" + new date().gettime(),  或者 data:或者cash:false都是在請求後面加上不同的引數,cach:false會啟動 生成引數附加在url請求裡,因此瀏覽器認為是不同的請求,就重新請求伺服器。

2.防止jsp動態頁面內容被快取?

方法:在jsp頁面裡 頭部

<%

response.setheader("expires","sat,6 may 1995 12:00:00 gmt");//將expire時間設定為乙個過去時間或0,-1等

response.setheader("cache-control","no-store,no-cache,must-revalidadate");//設定http/1.1 cache-control頭

response.addheader("cache-control", "post-check=0,pre-check=0");//設定ie 擴充套件http/1.1 no-cache header

response.setheader("pragma", "no-cache");//設定標準http/1.0 no-cache header

%>

2.防止html頁面被快取?(jsp也適用)

方法:html頁面裡

注意:1.若在jsp頁面裡"<%response%>"新增頁面過期 + ""新增不過期,則頁面過期.

2.若在jsp頁面裡"<%response%>"新增頁面不過期 + ""新增過期,則頁面不過期.

3.cache-control引數說明:

a.max-age=""指示客戶機可以接受生存期小於指定時間的響應,以s為單位,在max-age規定的秒數內,瀏覽器將不會傳送對應的請求到伺服器,資料由快取直接返回,超過這一時間段才進一步由伺服器決定是返回新資料還是仍由快取提供。

b.public 指示響應可被任何快取區快取;

c.private 指示對於單個使用者的整個或部分響應訊息,不能被共享快取處理,這允許伺服器描述當使用者的部分響應效益,此響應訊息對於其他使用者的請求無效;

d.no-cache 指示請求或響應訊息不能快取;

e.no-store用於防止重要的資訊被無意發布,在請求訊息中傳送將使得請求和響應訊息都不快取;

f.min-fresh指示客戶機可以接收響應時間小於當前時間加上指定時間的響應;當前時間加上指定時間內,瀏覽器不會傳送訊息到伺服器

g.max-stale:指示客戶機可以接收超出超時期間的響應訊息,如果指定max-stale訊息的值,那麼客戶機可以接收超出超時期指定值之內的響應訊息。

ps:僅作記錄-筆記

js清除快取以及jsp快取 部分常用

參考 瀏覽器快取機制 瀏覽器快取的一些問題的處理方法 部分瀏覽器快取問題的解決方案 1.get請求快取處理,不想要快取get請求?瀏覽器會快取get請求,不會快取post請求,因此解決為 方法1 get請求url後加隨機數,讓伺服器認為是不同的請求,如 new date gettime 方法2 在a...

清除js快取

客戶端有乙個html檔案,是用來提交輸入資訊的.但問題是 每次按重新整理時,我發覺並不是整個頁面重新被裝載.好似是快取裡的.因為文字框中 仍出現上次輸入的值.只有在位址列中按回車整個頁面才重新裝載.應當怎樣避免這個問題?在html裡head區加上這麼一段 清除臨時快取 jquery ajax清除瀏覽...

清除WebSphere中jsp快取

更新部署在websphere上應用中的jsp頁面時,更新完畢重啟websphere後,有時候會發現更新後不生效。原因有可能是websphere快取的問題,可以嘗試清除jsp快取,方法如下 2.刪除即可 如果是集群的話,需要清除組成集群的各個server上的對應路徑。這個問題困擾了我好久,即使刪除了 ...