App下載

web前端為什么用使用緩存?如何設(shè)置緩存?

猿友 2021-06-10 11:44:53 瀏覽數(shù) (3070)
反饋

對于剛?cè)胄胁痪玫男率謧兛隙ㄉ俨涣说氖恰霸趺醋??為什么這么做?實現(xiàn)的方法?”這些問題。那么今天就來說說“web前端為什么用使用緩存?如何設(shè)置緩存?”這個問題吧!

一、為什么要用緩存?

1.加快請求:將內(nèi)容緩存在本地瀏覽器中或者在距離最近的服務(wù)器,在沒有影響交互之下大大提高網(wǎng)站加載速度。

2.節(jié)省寬帶:已緩存文件可以減少請求寬帶。

3.降低服務(wù)器壓力:當(dāng)在大量用戶并發(fā)請求的情況時,可以起到平衡負(fù)載的作用,降低壓力。

二、如何設(shè)置緩存?

1.?HTML Meta?標(biāo)簽控制緩存(非HTTP協(xié)議定義)

我們通過下面這串代碼來進(jìn)行設(shè)置,告訴瀏覽器當(dāng)前頁面不被緩存,所以每次訪問都會去服務(wù)器獲取。代碼如下:

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">

2.HTTP頭信息控制緩存

這個方法的話是通過 ?Expires?(強(qiáng)緩存)、?Cache-control?(強(qiáng)緩存)、?Last-Modified/If-Modified-Since?(協(xié)商緩存)、?Etag/If-None-Match?(協(xié)商緩存)這些方式實現(xiàn)的。

(1). ?Expires?(強(qiáng)緩存)描述的是一個絕對的時間,是由服務(wù)器返回的。

(2). ?Cache-control?(強(qiáng)緩存)這個也是個描述相對時間的方法,在和 ?Expires?(強(qiáng)緩存)進(jìn)行對比中這個方法會比較安全有效一些。而且在這個方法中的值可以是 ?public?、?private?、?no-cache?、?no- store?、?no-transform?、?must-revalidate?、?proxy-revalidate?、?max-age?這些。如果我們在使用的時候同時使用這兩個方法的話,瀏覽器只會執(zhí)行一個。因為在? response header? 中 ?Cache-Control?優(yōu)先級高于?Expires? 。

(3).?Last-Modified/If-Modified-Since?(協(xié)商緩存)這個方法是需要搭配 ?Cache-Control?一起使用的。

(4).?Etag/If-None-Match?(協(xié)商緩存)這個方法也是要搭配 ?Cache-Control? 一起使用的。

總結(jié):

以上就是一個有關(guān)于“”web前端為什么用使用緩存?如何設(shè)置緩存?的方法,當(dāng)然如果你有更好的方法可以和大家分享你的經(jīng)驗和見解噢!希望小編的分享對你有所幫助,更多的Web前端的知識我們可以在W3cschool中進(jìn)行學(xué)習(xí)和了解。


參考文章:

瀏覽器 HTTP 協(xié)議緩存機(jī)制詳解https://my.oschina.net/leejun2005/blog/369148

CDN的實現(xiàn)原理:https://www.cnblogs.com/rayray/p/3553696.html



0 人點贊