<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
        當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

        前端瀏覽器緩存怎么使用

        來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 15:27:41
        文檔

        前端瀏覽器緩存怎么使用

        前端瀏覽器緩存怎么使用:之前給大家介紹過(guò)瀏覽器的緩存,也介紹過(guò)HTML的離線緩存,說(shuō)的太多反而容易弄混,今天就來(lái)給大家好好分辨一下這些緩存分別有什么區(qū)別以及怎么使用緩存。200 from memory cache 不訪問(wèn)服務(wù)器,直接讀緩存,從內(nèi)存中讀取緩存。此時(shí)的數(shù)據(jù)時(shí)緩存到內(nèi)存中的,當(dāng)k
        推薦度:
        導(dǎo)讀前端瀏覽器緩存怎么使用:之前給大家介紹過(guò)瀏覽器的緩存,也介紹過(guò)HTML的離線緩存,說(shuō)的太多反而容易弄混,今天就來(lái)給大家好好分辨一下這些緩存分別有什么區(qū)別以及怎么使用緩存。200 from memory cache 不訪問(wèn)服務(wù)器,直接讀緩存,從內(nèi)存中讀取緩存。此時(shí)的數(shù)據(jù)時(shí)緩存到內(nèi)存中的,當(dāng)k

        之前給大家介紹過(guò)瀏覽器的緩存,也介紹過(guò)HTML的離線緩存,說(shuō)的太多反而容易弄混,今天就來(lái)給大家好好分辨一下這些緩存分別有什么區(qū)別以及怎么使用緩存。

        200 from memory cache 不訪問(wèn)服務(wù)器,直接讀緩存,從內(nèi)存中讀取緩存。此時(shí)的數(shù)據(jù)時(shí)緩存到內(nèi)存中的,當(dāng)kill進(jìn)程后,也就是瀏覽器關(guān)閉以后,數(shù)據(jù)將不存在。但是這種方式只能緩存派生資源

        200 from disk cache 不訪問(wèn)服務(wù)器,直接讀緩存,從磁盤中讀取緩存,當(dāng)kill進(jìn)程時(shí),數(shù)據(jù)還是存在。這種方式也只能緩存派生資源

        304 Not Modified 訪問(wèn)服務(wù)器,發(fā)現(xiàn)數(shù)據(jù)沒(méi)有更新,服務(wù)器返回此狀態(tài)碼。然后從緩存中讀取數(shù)據(jù)。

        三級(jí)緩存原理

        先去內(nèi)存看,如果有,直接加載

        如果內(nèi)存沒(méi)有,擇取硬盤獲取,如果有直接加載

        如果硬盤也沒(méi)有,那么就進(jìn)行網(wǎng)絡(luò)請(qǐng)求

        加載到的資源緩存到硬盤和內(nèi)存

        一般瀏覽圖片,如下流程:

        訪問(wèn)-> 200 -> 退出瀏覽器

        再進(jìn)來(lái)-> 200(from disk cache) -> 刷新 -> 200(from memory cache)

        application cache和上面緩存有點(diǎn)區(qū)別,是離線緩存,就是資源可以從硬盤上讀取而不用聯(lián)網(wǎng),即使斷網(wǎng),用戶也可以瀏覽。

        設(shè)置瀏覽器緩存

        304是協(xié)商緩存還是要和服務(wù)器通信一次,要想斷絕服務(wù)器通信,就要強(qiáng)制瀏覽器使用本地緩存(cache-control/expires),

        一般有如下幾種方式設(shè)置瀏覽器緩存。

        1、通過(guò)HTTP的META設(shè)置expires和cache-control

        <meta http-equiv="Cache-Control" content="max-age=7200" />
         <meta http-equiv="Expires" content="Sun Oct 15 2017 20:39:53 GMT+0800 (CST)" />

        這樣寫的話僅對(duì)該網(wǎng)頁(yè)有效,對(duì)網(wǎng)頁(yè)中的圖片或其他請(qǐng)求無(wú)效。

        2、apache服務(wù)器配置圖片,css,js,flash的緩存

        這個(gè)主要通過(guò)服務(wù)器的配置來(lái)實(shí)現(xiàn)這個(gè)技術(shù),如果使用apache服務(wù)器的話,可以使用mod_expires模塊來(lái)實(shí)現(xiàn):

        編譯mod_expires模塊:

        Cd /root/httpd-2.2.3/modules/metadata/usr/local/apache/bin/apxs -i -a -c mod_expires.c //編譯

        先打開(kāi)httpd.conf文件,然后查找expires這個(gè)模塊,找到后,刪除左邊的#號(hào),表示打這個(gè)模塊,并重啟apache服務(wù)器

        編輯httpd.conf配置:添加下面內(nèi)容

        <IfModule mod_expires.c>ExpiresActive on
        ExpiresDefault "access plus 1 month"
        ExpiresByType text/html "access plus 1 months"
        ExpiresByType text/css "access plus 1 months"
        ExpiresByType image/gif "access plus 1 months"
        ExpiresByType image/jpeg "access plus 1 months"
        ExpiresByType image/jpg "access plus 1 months"
        ExpiresByType image/png "access plus 1 months"
        EXpiresByType application/x-shockwave-flash "access plus 1 months"
        EXpiresByType application/x-javascript "access plus 1 months"
        #ExpiresByType video/x-flv "access plus 1 months"</IfModule>

        3、php等設(shè)置

        <?php
         header("Cache-Control: public");
         header("Pragma: cache");
         $offset = 30*60*60*24; // cache 1 month
         $ExpStr = "Expires: ".gmdate("D, d M Y H:i:s", time() + $offset)." GMT";
         header($ExpStr);?>

        或者

        $seconds_to_cache = 3600;$ts = gmdate("D, d M Y H:i:s", time() + $seconds_to_cache) . " GMT";header("Expires: $ts"); header("Pragma: cache");header("Cache-Control: max-age=$seconds_to_cache");

        緩存情況下前端代碼部署

        問(wèn)題一:有了緩存,如何進(jìn)行前端代碼更新呢?

        我們可以在資源文件或者圖片后面添加版本號(hào),如下圖。

        問(wèn)題二:但是所有文件都加了版本號(hào)之后,我們只更改了一個(gè)文件,其他文件的緩存不是浪費(fèi)了嗎?

        解決這個(gè)問(wèn)題,我們可以用 數(shù)據(jù)摘要要算法,對(duì)文件求摘要信息,摘要信息與文件內(nèi)容一一對(duì)應(yīng)。如下圖:

        這樣就解決了這個(gè)問(wèn)題。

        問(wèn)題三:新的問(wèn)題又來(lái)了,文件發(fā)布怎么辦?

        1、先部署頁(yè)面,再部署資源:在二者部署的時(shí)間間隔內(nèi),如果有用戶訪問(wèn)頁(yè)面,就會(huì)在新的頁(yè)面結(jié)構(gòu)中加載舊的資源,并且把這個(gè)舊版本的資源當(dāng)做新版本緩存起來(lái),其結(jié)果就是:用戶訪問(wèn)到了一個(gè)樣式錯(cuò)亂的頁(yè)面,除非手動(dòng)刷新,否則在資源緩存過(guò)期之前,頁(yè)面會(huì)一直執(zhí)行錯(cuò)誤。

        2、先部署資源,再部署頁(yè)面:在部署時(shí)間間隔之內(nèi),有舊版本資源本地緩存的用戶訪問(wèn)網(wǎng)站,由于請(qǐng)求的頁(yè)面是舊版本的,資源引用沒(méi)有改變,瀏覽器將直接使用本地緩存,這種情況下頁(yè)面展現(xiàn)正常;但沒(méi)有本地緩存或者緩存過(guò)期的用戶訪問(wèn)網(wǎng)站,就會(huì)出現(xiàn)舊版本頁(yè)面加載新版本資源的情況,導(dǎo)致頁(yè)面執(zhí)行錯(cuò)誤,但當(dāng)頁(yè)面完成部署,這部分用戶再次訪問(wèn)頁(yè)面又會(huì)恢復(fù)正常了。

        好的,上面一坨分析想說(shuō)的就是:先部署誰(shuí)都不成!都會(huì)導(dǎo)致部署過(guò)程中發(fā)生頁(yè)面錯(cuò)亂的問(wèn)題。所以,訪問(wèn)量不大的項(xiàng)目,可以讓研發(fā)同學(xué)苦逼一把,等到半夜偷偷上線,先上靜態(tài)資源,再部署頁(yè)面,看起來(lái)問(wèn)題少一些。

        如何解決這些問(wèn)題呢?

        這個(gè)問(wèn)題,起源于資源的 覆蓋式發(fā)布,用 待發(fā)布資源 覆蓋 已發(fā)布資源,就有這種問(wèn)題。解決它也好辦,就是實(shí)現(xiàn) 非覆蓋式發(fā)布

        關(guān)于緩存的方方面面就這么多了,更多精彩請(qǐng)關(guān)注Gxl網(wǎng)其它相關(guān)文章!

        相關(guān)閱讀:

        HTML怎么實(shí)現(xiàn)數(shù)字焦點(diǎn)圖輪播代碼

        HTML里的最后一行文字顯示不全怎么處理

        怎樣用canvas做出粒子噴泉?jiǎng)赢嫷男Ч?/p>

        聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        前端瀏覽器緩存怎么使用

        前端瀏覽器緩存怎么使用:之前給大家介紹過(guò)瀏覽器的緩存,也介紹過(guò)HTML的離線緩存,說(shuō)的太多反而容易弄混,今天就來(lái)給大家好好分辨一下這些緩存分別有什么區(qū)別以及怎么使用緩存。200 from memory cache 不訪問(wèn)服務(wù)器,直接讀緩存,從內(nèi)存中讀取緩存。此時(shí)的數(shù)據(jù)時(shí)緩存到內(nèi)存中的,當(dāng)k
        推薦度:
        標(biāo)簽: 使用 瀏覽器 緩存
        • 熱門焦點(diǎn)

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 老司机在线免费视频| 久久国产免费观看精品| 免费看国产精品3a黄的视频| 亚洲国产精品人久久| 99久久国产精品免费一区二区| 亚洲欧洲成人精品香蕉网| 国产情侣久久久久aⅴ免费| 久久久久久亚洲精品| 99精品视频免费观看| 亚洲欧洲综合在线| 免费精品国产自产拍在线观看图片| 亚洲国产日韩在线成人蜜芽| 国内精品免费麻豆网站91麻豆| 亚洲综合小说另类图片动图| 免费看美女被靠到爽的视频| 亚洲av色香蕉一区二区三区| gogo全球高清大胆亚洲| 久久九九久精品国产免费直播| 亚洲国产精品第一区二区| 亚洲一级毛片免费观看| 亚洲国产无线乱码在线观看 | 久久精品免费一区二区喷潮| 亚洲中文无码mv| 亚洲精品岛国片在线观看| 亚洲视频在线免费观看| 国产亚洲国产bv网站在线| 国产jizzjizz免费看jizz| 在线观看免费播放av片| 亚洲精品二三区伊人久久| 亚洲精品国产自在久久| 久久w5ww成w人免费| 久久久久亚洲国产AV麻豆| 国产亚洲人成网站在线观看不卡| 91精品国产免费| 美女视频免费看一区二区| 久久精品视频亚洲| 成年女人永久免费观看片| 无码日韩精品一区二区三区免费 | 91亚洲国产成人久久精品| 亚洲av中文无码| 亚色九九九全国免费视频|