對(duì)于剛?cè)胄胁痪玫男率謧兛隙ㄉ俨涣说氖恰霸趺醋??為什么這么做?實(shí)現(xiàn)的方法?”這些問(wèn)題。那么今天就來(lái)說(shuō)說(shuō)“web前端為什么用使用緩存?如何設(shè)置緩存?”這個(gè)問(wèn)題吧!
一、為什么要用緩存?1.加快請(qǐng)求:將內(nèi)容緩存在本地瀏覽器中或者在距離最近的服務(wù)器,在沒有影響交互之下大大提高網(wǎng)站加載速度。
2.節(jié)省寬帶:已緩存文件可以減少請(qǐng)求寬帶。
3.降低服務(wù)器壓力:當(dāng)在大量用戶并發(fā)請(qǐng)求的情況時(shí),可以起到平衡負(fù)載的作用,降低壓力。
二、如何設(shè)置緩存?1.?HTML Meta
?標(biāo)簽控制緩存(非HTTP協(xié)議定義)
我們通過(guò)下面這串代碼來(lái)進(jìn)行設(shè)置,告訴瀏覽器當(dāng)前頁(yè)面不被緩存,所以每次訪問(wèn)都會(huì)去服務(wù)器獲取。代碼如下:
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
2.HTTP頭信息控制緩存
這個(gè)方法的話是通過(guò) ?Expires
?(強(qiáng)緩存)、?Cache-control
?(強(qiáng)緩存)、?Last-Modified/If-Modified-Since
?(協(xié)商緩存)、?Etag/If-None-Match
?(協(xié)商緩存)這些方式實(shí)現(xiàn)的。
(1). ?Expires
?(強(qiáng)緩存)描述的是一個(gè)絕對(duì)的時(shí)間,是由服務(wù)器返回的。
(2). ?Cache-control
?(強(qiáng)緩存)這個(gè)也是個(gè)描述相對(duì)時(shí)間的方法,在和 ?Expires
?(強(qiáng)緩存)進(jìn)行對(duì)比中這個(gè)方法會(huì)比較安全有效一些。而且在這個(gè)方法中的值可以是 ?public
?、?private
?、?no-cache
?、?no- store
?、?no-transform
?、?must-revalidate
?、?proxy-revalidate
?、?max-age
?這些。如果我們?cè)谑褂玫臅r(shí)候同時(shí)使用這兩個(gè)方法的話,瀏覽器只會(huì)執(zhí)行一個(gè)。因?yàn)樵? response header
?
中 ?Cache-Control
?優(yōu)先級(jí)高于?Expires
? 。
(3).?Last-Modified/If-Modified-Since
?(協(xié)商緩存)這個(gè)方法是需要搭配 ?Cache-Control
?一起使用的。
(4).?Etag/If-None-Match
?(協(xié)商緩存)這個(gè)方法也是要搭配 ?Cache-Control
? 一起使用的。
以上就是一個(gè)有關(guān)于“”web前端為什么用使用緩存?如何設(shè)置緩存?的方法,當(dāng)然如果你有更好的方法可以和大家分享你的經(jīng)驗(yàn)和見解噢!希望小編的分享對(duì)你有所幫助,更多的Web前端的知識(shí)我們可以在W3cschool中進(jìn)行學(xué)習(xí)和了解。
瀏覽器 HTTP 協(xié)議緩存機(jī)制詳解:https://my.oschina.net/leejun2005/blog/369148
CDN的實(shí)現(xiàn)原理:https://www.cnblogs.com/rayray/p/3553696.html