js css版本控制,解決檔案快取問題

2021-08-21 22:34:16 字數 697 閱讀 6148

首先,介紹幾個常用的 http 響應的狀態碼:

200 - 伺服器已成功處理了請求,並返回所請求的內容。

304 - 自從上次請求後,請求的內容未修改過,瀏覽器直接從本地快取中取得,伺服器則不會返回。

404 - 伺服器找不到請求的內容,通常,對於伺服器上不存在的網頁經常會返回此狀態碼。

回到本文主題,一般瀏覽器開啟網頁時都會對 js、css 檔案進行快取,以便在下次開啟時可以直接從快取中取出,而不用費勁地向服

務器再次請求。可是如果 js、css 檔案在伺服器那邊被修改過,瀏覽器從本地快取中取得的檔案就不是最新的了。

這個問題怎麼解決?其中乙個方法就是為 js、css 檔案加上版本號,如:

每當 js、css 檔案被修改時,就在呼叫它的路徑後面把版本號也給改了,這樣一來,瀏覽器檢測到版本號發生變化,就會向伺服器重新請求相應的 js、css 檔案了。

在 google 瀏覽器的除錯工具中,network 選項卡可以檢視檔案的請求/響應情況,狀態碼為 200 表示檔案從伺服器傳來的,304 

表示檔案是取自瀏覽器快取的。

但是我改變版本號之後,第一次重新整理(f5,非 ctrl+f5)還是 304,要重新整理兩到三次才變成 200。這個問題還需進一步研究......

這個方法的缺點就是:每次修改檔案,都要改寫版本號,而且如果在多個地方呼叫了這個檔案,還要改多個地方。

所以有必要尋找更好地版本控制的方法。

js ant版本控制,解決js css快取問題

在web開發中js css檔案是常用的指令碼檔案,但js css有修改後,瀏覽器由於快取機制無法直接獲取最新的js,只能通過清理快取的方式進行,這種冷式暴力解決無法在生成環境中進行,那如何解決?可以通過每次專案打包時對js css增加版本控制,這裡以ant作為打包指令碼,將js檔案中增加 v 在an...

控制靜態檔案快取(js,css)方案

方案一 修改完靜態檔案手動修改靜態檔案後的版本號 優點 方案簡單 缺點 工作量巨大,不方便維護 方案二 靜態檔案後新增隨機版本 id優點 方便改造,在每個靜態檔案後 version math.random 缺點 version 每次都是新的,會重新請求服務端,會對伺服器造成壓力 方案三 靜態檔案後的...

drf版本控制 django快取

內建的版本控制類 from rest framework.versioning import queryparameterversioning,acceptheaderversioning,namespaceversioning,urlpathversioning 各版本的傳參方式 基於url的ge...