關於web的緩存策略,推薦這篇文章:點擊css
在開發時候常常遇到一個問題,咱們根據版本號去控制緩存問題,當咱們發佈新版本,使用心得版本號的時候,發現html裏面引用的版本號倒是舊的版本號 ,原來是該html文件被緩存了,不少時候咱們設置禁止html文件被緩存,但依然會出現被緩存的狀況。html
爲何咱們有時候設置了<meta http-equiv="Cache-control" content="no-store">這種強制性禁止緩存,咱們的頁面依然被緩存了?nginx
由於咱們只關注了客戶端,卻忽略了服務器端的設置,若是服務器端nginx設置了Cache-control,他是會覆蓋掉咱們頁面中設置的的Cache-control的,因此有時候咱們會發現明明css和js已經加了版本號,可是html文件裏面引用的依然是舊的css和js文件,web
由於服務器的緩存機制,舊的css和js並不會被當即刪除,這種狀況下, 咱們須要和服務器端(或者運維)人員協商一個統一的緩存策略,以保證更新能夠及時獲得效果,緩存
若是溝通不順利,或者想馬上看到效果,能夠試試<meta http-equiv="Pragma" content="no-cache"/> 若是服務器端沒有去設置Pragma,咱們設置的Pragma依然有效。服務器