如何防止瀏覽器快取CACHE?將CSS、JS、圖片加上參數

什麼是瀏覽器快取

瀏覽器快取功能是網頁效能優化的項目之一
使用瀏覽器快取功能如果使用者再次來到您的網站,快取css、js、jpg、png圖檔等靜態資源將能使網頁開啟速度加快,同時也能減少伺服器負擔。
更多關於瀏覽器快取功能可參考google說明文件
https://developers.google.com/speed/docs/insights/LeverageBrowserCaching

用了瀏覽器快取會遇到的問題

用了快取之後總有些後遺症,例如調整了css或JavaScript、更新了圖片
但快取時間還沒到期,即便css、js與圖檔已經更新了,使用者可能看見的仍是舊的內容
若要立即看到最新內容,就必須清除快取或是使用Ctrl+F5強制重新載入頁面
並不是所有的使用者都懂得使用Ctrl+F5這類方式來看到最新的網頁內容

解決瀏覽器快取的方法

瀏覽器快取這個問題雖然很煩人,但其實只要在副檔名後方加上參數
如此一來瀏覽器會認定URL變得不相同,向伺服器請求新的下載
方式如下:
在style.css後方加上”?”以及”自訂字串”
可以是亂數、日期時間、版本編號
例如
亂數 > style.css?f5V3Ra (隨機亂打就對了)
日期 > style.css?20140627
版本 > style.css?v2.10.1
累加 > style.css?0001 (每改一次+1)
依照自己的更新頻率、習慣或喜好決定使用哪種方式即可
前提是不要與舊版本重複囉
原始碼像這樣:
css
<link rel=”stylesheet” type=”text/css” href=”css/style.css?awooseo-01″ />
js
<script src=”js/script.js?rr616″></script>

同樣方式也適用於圖檔喔
像是這樣:
<img src=”/images/course1.png?v2″>
css的用到的圖片也可以:
.logo{background:url(../images/logo.png?justin_edit);}