Cloudflare:什么是緩存?如何緩存網(wǎng)站?

來(lái)源: Cloudflare
作者:Cloudflare
時(shí)間:2021-01-22
17303
緩存是將文件副本存儲(chǔ)在緩存或臨時(shí)存儲(chǔ)位置中的過(guò)程,以便可以更快地訪問(wèn)它們。從技術(shù)上講,緩存是文件或數(shù)據(jù)副本的任何臨時(shí)存儲(chǔ)位置,但通常該術(shù)語(yǔ)用于指代 Internet 技術(shù)。DNS 服務(wù)器緩存 DNS 記錄以加快查找速度,CDN 服務(wù)器緩存內(nèi)容以縮短延遲,Web 瀏覽器則緩存 HTML文件、JavaScript 和圖像以更快加載網(wǎng)站。

緩存是將文件副本存儲(chǔ)在緩存或臨時(shí)存儲(chǔ)位置中的過(guò)程,以便可以更快地訪問(wèn)它們。從技術(shù)上講,緩存是文件或數(shù)據(jù)副本的任何臨時(shí)存儲(chǔ)位置,但通常該術(shù)語(yǔ)用于指代 Internet 技術(shù)。DNS 服務(wù)器緩存 DNS 記錄以加快查找速度,CDN 服務(wù)器緩存內(nèi)容以縮短延遲,Web 瀏覽器則緩存 HTML文件、JavaScript 和圖像以更快加載網(wǎng)站。

要了解緩存的工作方式,可以想一下現(xiàn)實(shí)世界中食品和其他物資的儲(chǔ)藏。當(dāng)探險(xiǎn)家羅爾德·阿蒙森在 1912 年從南極之旅返回時(shí),他和手下依靠他們?cè)谘赝緝?chǔ)藏的食物為生。這比旅途之中等待大本營(yíng)運(yùn)送物資要有效得多。Internet 上的緩存具有類似的用途;它們臨時(shí)存儲(chǔ)用戶在網(wǎng)絡(luò)上“旅行”所需的“物資”或內(nèi)容。

什么是 CDN 緩存?

CDN(內(nèi)容交付網(wǎng)絡(luò))將圖像、視頻或網(wǎng)頁(yè)等內(nèi)容緩存在比源站服務(wù)器更靠近最終用戶的代理服務(wù)器中。(代理服務(wù)器是一種從客戶端接收請(qǐng)求并將其傳遞給其他服務(wù)器的服務(wù)器。)由于這些服務(wù)器距離發(fā)出請(qǐng)求的用戶較近,因此 CDN 能夠更快地交付內(nèi)容。

what-is-a-cdn.png

CDN 可以比作連鎖雜貨店:購(gòu)物者不必前往可能數(shù)百英里遠(yuǎn)種植有糧食的農(nóng)場(chǎng),而是去當(dāng)?shù)氐碾s貨店,盡管仍然需要走些路,但距離要近得多。由于雜貨店儲(chǔ)藏來(lái)自遠(yuǎn)方農(nóng)場(chǎng)的食品,因此去雜貨店購(gòu)買只需花費(fèi)幾分鐘而不是幾天。同樣,CDN 緩存可以“儲(chǔ)藏”Internet 上顯示的內(nèi)容,讓網(wǎng)頁(yè)加載速度變得更快。

如何緩存內(nèi)容?

當(dāng)用戶向使用 CDN 的網(wǎng)站請(qǐng)求內(nèi)容時(shí),CDN 從源站服務(wù)器獲取該內(nèi)容,然后保存該內(nèi)容的副本以便為將來(lái)的請(qǐng)求服務(wù)。只要有用戶繼續(xù)請(qǐng)求,緩存的內(nèi)容就會(huì)保留在 CDN 緩存中。

什么是緩存命中?什么是緩存未命中?

所謂緩存命中,是指客戶端設(shè)備向緩存請(qǐng)求內(nèi)容,并且緩存中已保存有該內(nèi)容。如果緩存中沒(méi)有請(qǐng)求的內(nèi)容,則稱為緩存未命中。如果發(fā)生緩存未命中,CDN 服務(wù)器會(huì)將請(qǐng)求傳遞到源站服務(wù)器,然后在源站服務(wù)器做出響應(yīng)后緩存內(nèi)容,以便后續(xù)請(qǐng)求能夠產(chǎn)生緩存命中。

CDN 緩存服務(wù)器位于何處?

CDN 緩存服務(wù)器位于全球各地的數(shù)據(jù)中心中。Cloudflare 的 CDN 服務(wù)器遍布全球 200 個(gè)城市,以盡可能縮短與訪問(wèn)內(nèi)容的最終用戶的距離。CDN 服務(wù)器所在的位置也稱為數(shù)據(jù)中心。

緩存的數(shù)據(jù)在 CDN 服務(wù)器中保留多久時(shí)間?

當(dāng)網(wǎng)站以所請(qǐng)求內(nèi)容響應(yīng) CDN 服務(wù)器時(shí),它們會(huì)在內(nèi)容中附加信息,告知服務(wù)器應(yīng)將其存儲(chǔ)多久時(shí)間。此信息存儲(chǔ)在響應(yīng)中稱為 HTTP 標(biāo)頭的部分中,它會(huì)指定要將內(nèi)容緩存幾小時(shí)幾分幾秒。這稱為生存時(shí)間(TTL)。TTL 過(guò)期后,緩存會(huì)刪除內(nèi)容。如果內(nèi)容已有一段時(shí)間未被請(qǐng)求過(guò),或者 CDN 客戶手動(dòng)清除了某些內(nèi)容,一些 CDN 也會(huì)提前從緩存中清除文件。

其他種類的緩存如何工作?

Web 瀏覽器緩存發(fā)生在瀏覽器將網(wǎng)站上的文件副本保存在用戶設(shè)備的硬盤驅(qū)動(dòng)器上時(shí)。緩存網(wǎng)頁(yè)后,瀏覽器僅需要加載新頁(yè)面或更新的頁(yè)面;這樣一來(lái),即使 Internet 連接速度較慢,瀏覽器也能快速交付頁(yè)面。瀏覽器會(huì)保留這些文件,直到它們的 TTL 過(guò)期或硬盤驅(qū)動(dòng)器緩存已滿為止。如有需要,用戶也可以清除其瀏覽器緩存。

DNS 緩存在 DNS 服務(wù)器上進(jìn)行。服務(wù)器將近期的 DNS 查找存儲(chǔ)在其緩存中,因而無(wú)需查詢名稱服務(wù)器,便能立即使用域的 IP 地址進(jìn)行回復(fù)。

搜索引擎可以緩存經(jīng)常出現(xiàn)在搜索結(jié)果中的網(wǎng)頁(yè);這樣,即使用戶嘗試訪問(wèn)的網(wǎng)站暫時(shí)關(guān)閉或無(wú)法響應(yīng),它們也能回答用戶查詢。

Cloudflare 如何使用緩存?

Cloudflare 提供的 CDN 擁有分散于世界各地的 200 個(gè) PoP。Cloudflare 提供免費(fèi) CDN 緩存服務(wù),而付費(fèi) CDN 客戶還能夠自定義其內(nèi)容的緩存方式。使用的網(wǎng)絡(luò)采用 Anycast;也就是說(shuō),同樣的內(nèi)容可以從這些 PoP 中的任何一個(gè)進(jìn)行交付。不論是倫敦用戶還是悉尼用戶,都可以查看從幾英里外 CDN 服務(wù)器加載的相同內(nèi)容。

立即登錄,閱讀全文
版權(quán)說(shuō)明:
本文內(nèi)容來(lái)自于Cloudflare,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個(gè)人觀點(diǎn),不代表快出海對(duì)觀點(diǎn)贊同或支持。如有侵權(quán),請(qǐng)聯(lián)系管理員(zzx@kchuhai.com)刪除!
掃碼登錄
打開(kāi)掃一掃, 關(guān)注公眾號(hào)后即可登錄/注冊(cè)
加載中
二維碼已失效 請(qǐng)重試
刷新
賬號(hào)登錄/注冊(cè)
個(gè)人VIP
小程序
快出海小程序
公眾號(hào)
快出海公眾號(hào)
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家