vue項(xiàng)目在nginx配置緩存策略

nginx開啟緩存機(jī)制:

在/etc/nginx/sites-available/default文件加入如下代碼
表示 對(duì)圖片、js和css資源實(shí)現(xiàn)緩存,過期時(shí)間為60秒

        location ~* \.(?:jpg|jpeg|png|gif|ico|css|js)$ {
            root /data;
            expires 60s;
            add_header Cache-Control "public";
        }

下圖表示成功開啟


image.png

緩存過期后都會(huì)往服務(wù)器獲取資源嗎?

如果緩存未過期,刷新頁(yè)面時(shí),資源會(huì)顯示200,size為from disk/from memory,表示在本地緩存獲取資源。

image.png

緩存過期后,瀏覽器會(huì)去詢問服務(wù)端,檢查資源是否被更新,如果沒更新,服務(wù)端會(huì)返回304,資源依然在讀取本地

image.png

這和cache-controller為no-cache一個(gè)意思,并不是說資源都由服務(wù)端返回,而是瀏覽器每次都先去詢問服務(wù)端,是否有新的資源。

真的有必要開啟緩存嗎?

在模擬10K網(wǎng)絡(luò)條件下,加載時(shí)間相差5秒,這五秒就是發(fā)送http請(qǐng)求的代價(jià),因此建議合理都設(shè)置緩存策略。

修改資源真的被更新到了嗎?

我們對(duì)app.js進(jìn)行修改,刷新瀏覽器,如下圖,會(huì)返回200,并加載了108K的新資源。其他沒有改動(dòng)的資源,返回304

image.png

如果在緩存有效期內(nèi),我修改app.js,會(huì)返回304,因?yàn)榫彺嫫趦?nèi),瀏覽器不去詢問服務(wù)端。

image.png

緩存期內(nèi)怎么強(qiáng)制更新js/css資源???

第一步:首先加入test.js腳本, 內(nèi)容為alert(1)


image.png

第二步:緩存有效期內(nèi)修改test.js內(nèi)容為alert(2),彈框內(nèi)容依然為數(shù)字1
解決方案:修改test.js文件名為test.v1.js并在index.html重新引入(因?yàn)槲覀兊膆tml文件沒有緩存,所以可以通過更新html的引用實(shí)現(xiàn)資源替換)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 轉(zhuǎn)載:H5緩存機(jī)制淺析-移動(dòng)端Web加載性能優(yōu)化【干貨】 作者:賀輝超,騰訊游戲平臺(tái)與社區(qū)產(chǎn)品部 高級(jí)工程師 目錄...
    meng_philip123閱讀 11,676評(píng)論 6 48
  • 轉(zhuǎn)載:瀏覽器緩存知識(shí)小結(jié)及應(yīng)用 閱讀目錄 1. 瀏覽器緩存基本認(rèn)識(shí) 2. 強(qiáng)緩存的原理 3. 強(qiáng)緩存的管理 4. ...
    meng_philip123閱讀 1,157評(píng)論 4 18
  • 瀏覽器緩存,也就是客戶端緩存,既是網(wǎng)頁(yè)性能優(yōu)化里面靜態(tài)資源相關(guān)優(yōu)化的一大利器,也是無數(shù)web開發(fā)人員在工作過程不可...
    單純的土豆閱讀 436評(píng)論 0 1
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,506評(píng)論 19 139
  • 小女主的老爸就是典型我希望的當(dāng)?shù)摹⒑媚腥?、有腦子的樣子。 單就這三個(gè)主要人物:杰姆,司各特和老爹,三個(gè)人性格、想...
    Underhill閱讀 449評(píng)論 0 2

友情鏈接更多精彩內(nèi)容