鍍金池/ 問答/Linux  HTML/ nginx服務器配置客戶端瀏覽器緩存清除cache-control

nginx服務器配置客戶端瀏覽器緩存清除cache-control

在開發(fā)人員的眼中沒有bug,只不過是你不會用罷了。。。
現(xiàn)情況公司內(nèi)部運作系統(tǒng),每次迭代都會有用戶出現(xiàn)新增的功能沒有顯示的情況,那么前端項目基于angular1.5.8+gulp做了文件加版本號處理,唯獨index.html并沒有添加版本號處理,大部分js、css都是在index.html內(nèi)引入的。

在gulpfile內(nèi)給js、html都增加了版本號處理
.pipe($.replace('.js',".js?v="+moment().format('YYMMDDHHmm')))
.pipe($.replace('.html',".html?v="+moment().format('YYMMDDHHmm')))
這邊是nginx服務器配置
location / {
        
        ##客戶端緩存7天,有修改向服務器請求最新文件
        add_header Cache-Control max-age=604800;
       
    }

測試覺得并沒有問題啊,開發(fā)人員都沒問題,可以在緩存期間,即使有代碼更新,按F5刷新下就會向nginx服務器發(fā)送請求,獲取是否有文件更新,通過Last-Modified判斷吧?有更新則直接向服務器拉取最新文件,沒有更新則使用瀏覽器緩存。為啥還是會有部分人員出現(xiàn)頁面沒有顯示出最新修改的模塊呢,比如這次迭代只是在某個頁面增加了一個表單,但是有的人員卻并沒有顯示出這次增加的表單。。。后來直接讓他們ctrl+F5強制刷新,才顯示出來。百思不得其解。。有沒有辦法可以自動清除客戶端的瀏覽器緩存呢?注:客戶端都是用的chrome瀏覽器

nginx服務器配置如下修改后有效嗎?有待查證。。。
location / {
        ##私有緩存,不能被共有緩存代理服務器緩存,可被用戶的代理緩存如瀏覽器
        add_header Cache-Control private;
        ##客戶端緩存7天,有修改向服務器請求最新文件
        add_header Cache-Control max-age=604800;
        ##告訴瀏覽器,你這必須再次驗證檢查信息是否過期, 返回的代號就不是200而是304了
        add_header Cache-Control must-revalidate;
    }
回答
編輯回答
純妹

試試?

Cache-Control no-cache
2017年1月20日 02:07