IE瀏覽器中Get請求方式有快取的問題

2021-09-02 22:29:15 字數 1952 閱讀 7906

在前端專案開發中,會遇到一種很奇怪的情況,就是在ie瀏覽器中get請求方式在初次請求之後不再進行請求了,而是會從快取中獲取資料,但是chrome瀏覽器會中卻每次都會獲取。

​ 自然的想到乙個問題,就是get存在快取的問題!

​ 常見的是ajax請求過一次以後,以後的相同url的get請求會存在下面這種情況:

禁止瀏覽器快取常用的方法:

在html頁面設定meta標籤

結果:因瀏覽器不同或者同一瀏覽器間版本不同,這個方法有很大的相容性,很多時候根本沒有作用。

在get請求的url 引數後面加時間戳或者隨機數

$.

ajax(,

success:

function

( res )

})

結果:這種方式雖然能解決ie始終返回304的問題,但實際上每個ajax都會去請求伺服器,對web優化並非最佳的解決方案。

用post請求替代get請求

結果: 有其他方式解決現場嘗試其他方式解決,一是因為這種做法不符合restful api設計,二是因為這種方式同樣會每次請求伺服器,可能會沒有利用到瀏覽器自帶的快取功能,但是可以解決這個問題。

要實現的效果:

首次請求返回 200,資料不變的情況下,請求需和伺服器確認返回 304,如果有資料變化,則返回 200,並且需要 ie和 google瀏覽器一致

先介紹一下瀏覽器的快取機制:

​​ 前端需要在請求頭中新增一下內容可以解決:

headers:

​ 同時後端也要進行設定:

IE瀏覽器 get請求快取問題

場景 比較簡單是使用的springmvc框架,在做資源國際化的時候,遇到了這個問題。具體做的操作是在頁面上點選切換語言的時候,需要發起請求在controller中切換locale。問題 1.開始的時候使用jquery的 get 方法,在chrome上沒有問題可以正常的發起請求 2.然後在ie中測試的...

IE瀏覽器在get請求的快取問題

瀏覽器的第一次請求需要從伺服器獲得許多 css img js 等相關靜態檔案,如果每次請求都把相關的資源檔案載入一次,對 於伺服器資源 使用者等待時間都有嚴重的損耗,瀏覽器有做優化處理,其把css img js等檔案在第一次請求成功後就在本地保留乙個快取備份,後續的每次請求就在本身獲得相關的快取資源...

IE 瀏覽器下 get 請求不走後台

問題 1.有的 ie 下有問題,有的 ie 沒有問題,谷歌瀏覽器的都沒問題 2.url 引數一樣的,結果不一樣,且 有問題的 ie 這個請求不進後台 3.請求方式 get 原因 ie 瀏覽器中當某次的請求和上次的請求 url 和引數一致時,就會直接從瀏覽器快取中取上一次請求返回的結果 如果瀏覽器快取...