當瀏覽器發出一個http請求的時候,會加載各種各樣的資源,如:HTML文檔、視頻、圖片、CSS和JS等。對於這些url不變的資源,瀏覽器會將他們保存在本地緩存中,下次再訪問相同網站的時候,可以直接加載,加快訪問。
瀏覽器的這個緩存策略,一方面加快了訪問的速度,另一方面也會遇到一個問題,就是不能及時加載最新的css和js文件。
1.文件hash化或者后面加上問號和一些隨機字符:
類似 index.css?20200789
在資源的 url 后面加上數字,對於文件的加載並不會有任何影響,但是如果數字發生改變,瀏覽器就會認為這是一個全新的文件,會重新下載緩存,不會讀取之前緩存的那個文件,所以加數字的作用就是 強制瀏覽器調用新地址,防止緩存,方法如下:
<html> <head> <script type="text/javascript"> document.write("<script src='**.js?"+Math.random()+"'><\/script>"); </script> </head> </html>
文件hash化是在vue構建打包時候經常使用的方法,這樣打包上去的包再次訪問就是最新的代碼,如圖:
2.通過瀏覽器設置禁用緩存:
3.html5 meta標簽設置:
在該語法中,cache-control和pragma都可以用來設定緩存的屬性,而在content中則是真正禁止調用緩存的語句。
希望對你有用!