CDN緩存
瀏覽器本地緩存失效后宛徊,瀏覽器會(huì)向CDN邊緣節(jié)點(diǎn)發(fā)起請(qǐng)求。類似瀏覽器緩存逻澳,CDN邊緣節(jié)點(diǎn)也存在著一套緩存機(jī)制闸天。
CDN緩存的缺點(diǎn)
CDN的分流作用不僅減少了用戶的訪問(wèn)延時(shí),也減少的源站的負(fù)載斜做。但其缺點(diǎn)也很明顯:當(dāng)網(wǎng)站更新時(shí)苞氮,如果CDN節(jié)點(diǎn)上數(shù)據(jù)沒(méi)有及時(shí)更新,即便用戶再瀏覽器使用Ctrl +F5的方式使瀏覽器端的緩存失效瓤逼,也會(huì)因?yàn)镃DN邊緣節(jié)點(diǎn)沒(méi)有同步最新數(shù)據(jù)而導(dǎo)致用戶訪問(wèn)異常笼吟。
CDN緩存策略
CDN邊緣節(jié)點(diǎn)緩存策略因服務(wù)商不同而不同,但一般都會(huì)遵循h(huán)ttp標(biāo)準(zhǔn)協(xié)議霸旗,通過(guò)http響應(yīng)頭中的Cache-control: max-age的字段來(lái)設(shè)置CDN邊緣節(jié)點(diǎn)數(shù)據(jù)緩存時(shí)間贷帮。
當(dāng)客戶端向CDN節(jié)點(diǎn)請(qǐng)求數(shù)據(jù)時(shí),CDN節(jié)點(diǎn)會(huì)判斷緩存數(shù)據(jù)是否過(guò)期诱告,若緩存數(shù)據(jù)并沒(méi)有過(guò)期撵枢,則直接將緩存數(shù)據(jù)返回給客戶端;否則精居,CDN節(jié)點(diǎn)就會(huì)向源站發(fā)出回源請(qǐng)求侥加,從源站拉取最新數(shù)據(jù)炭剪,更新本地緩存段标,并將最新數(shù)據(jù)返回給客戶端拐辽。
CDN服務(wù)商一般會(huì)提供基于文件后綴、目錄多個(gè)維度來(lái)指定CDN緩存時(shí)間佛吓,為用戶提供更精細(xì)化的緩存管理宵晚。
CDN緩存時(shí)間會(huì)對(duì)“回源率”產(chǎn)生直接的影響恨旱。若CDN緩存時(shí)間較短,CDN邊緣節(jié)點(diǎn)上的數(shù)據(jù)會(huì)經(jīng)常失效坝疼,導(dǎo)致頻繁回源搜贤,增加了源站的負(fù)載,同時(shí)也增大的訪問(wèn)延時(shí)钝凶;若CDN緩存時(shí)間太長(zhǎng)仪芒,會(huì)帶來(lái)數(shù)據(jù)更新時(shí)間慢的問(wèn)題。開(kāi)發(fā)者需要增對(duì)特定的業(yè)務(wù)耕陷,來(lái)做特定的數(shù)據(jù)緩存時(shí)間管理掂名。
CDN緩存刷新
CDN邊緣節(jié)點(diǎn)對(duì)開(kāi)發(fā)者是透明的,相比于瀏覽器Ctrl+F5的強(qiáng)制刷新來(lái)使瀏覽器本地緩存失效哟沫,開(kāi)發(fā)者可以通過(guò)CDN服務(wù)商提供的“刷新緩存”接口來(lái)達(dá)到清理CDN邊緣節(jié)點(diǎn)緩存的目的饺蔑。這樣開(kāi)發(fā)者在更新數(shù)據(jù)后,可以使用“刷新緩存”功能來(lái)強(qiáng)制CDN節(jié)點(diǎn)上的數(shù)據(jù)緩存過(guò)期嗜诀,保證客戶端在訪問(wèn)時(shí)猾警,拉取到最新的數(shù)據(jù)。
https://www.imperva-incapsula.cn