本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
如何 CloudFront 提供內容
經過一些初始設置後, CloudFront 與您的網站或應用程序一起工作,並加快內容的交付速度。本節說明如何在觀眾 CloudFront 提出要求時提供您的內容。
如何 CloudFront 向使用者提供內容
設定 CloudFront 為傳送內容後,使用者要求您的物件時會發生以下情況:
使用者存取您的網站或應用程式並傳送一或多個物件的請求,如影像檔案或 HTML 檔案。
DNS 會將要求路由至 CloudFront POP (邊緣位置),以最適合要求服務,通常是最接近的 CloudFront POP (就延遲而言)。
CloudFront 檢查其緩存請求的對象。如果物件位於快取中,則將其 CloudFront 傳回給使用者。如果物件不在快取中,請執 CloudFront行下列動作:
CloudFront 將請求與分發中的規格進行比較,並將相應物件的請求轉送至原始伺服器,例如,Amazon S3 儲存貯體或 HTTP 伺服器。
原始伺服器會將物件傳送回節點。
一旦第一個字節從原點到達, CloudFront 開始將對象轉發給用戶。 CloudFront 還會將對象添加到緩存中,以便下次有人請求它時。
![從用戶到來源的請求和響應 CloudFront](images/how-cloudfront-delivers-content.png)
如何 CloudFront 與區域邊緣快取搭配使用
CloudFront 存在點 (也稱為 PoP 或邊緣位置) 確保可以快速向觀眾提供熱門內容。 CloudFront 還具有區域邊緣緩存,可以使更多內容更接近觀眾,即使內容不夠受歡迎而無法保持在 POP 中,也可以幫助提高該內容的性能。
區域節點快取有助於處理所有內容類型,特別是隨著時間推移漸漸不熱門的內容。範例包含使用者產生的內容,例如影片、照片或圖案;電子商務資產,例如產品照片和影片;以及可能因新聞和事件而知名度突然暴增的相關內容。
區域快取的工作方式
區域邊緣快取是全球部署的 CloudFront 位置,靠近檢視者。位於原始伺服器和 POP (直接向瀏覽者提供內容的全球節點) 之間。隨著物件變得較不熱門,個別 POP 可能會移除這些物件,為更熱門的內容騰出空間。區域節點快取擁有的快取比個別 POP 大,因此物件在最近的區域節點快取位置保留在快取中的時間會比較久。這有助於讓更多內容與觀眾更接近,從而減少返 CloudFront 回原始伺服器的需求,並提高觀眾的整體效能。
當瀏覽者在您的網站上或透過您的應用程式發出請求時,DNS 會將請求路由到最能滿足使用者請求的 POP。就延遲而言,此位置通常是最近的 CloudFront 節點。在 POP 中, CloudFront檢查其緩存請求的對象。如果物件位於快取中,則將其 CloudFront傳回給使用者。如果物件不在快取中,POP 通常將移至最近的區域節點快取,以擷取物件。如需 POP 何時略過區域節點快取,並直接進入原始伺服器的相關資訊,請參閱以下備註。
在區域邊緣快取位置中, CloudFront 再次檢查其快取是否有要求的物件。如果物件位於快取中,請將其 CloudFront 轉寄至要求它的 POP。一旦第一個位元組從區域邊緣快取位置到達,就會 CloudFront 開始將物件轉寄給使用者。 CloudFront 也會將物件新增至 POP 中的快取,以供下次有人要求時使用。
對於未在 POP 或區域邊緣快取位置快取的物件,請將要求與發行版中的規格進行 CloudFront 比較,並將要求轉送至原始伺服器。原始伺服器將物件傳送回區域邊緣快取位置之後,就會將它轉寄至 POP,然後將其 CloudFront 轉寄給使用者。在這種情況下,除了 POP 之外, CloudFront 還會將物件新增至區域邊緣快取位置的快取中,以供檢視者下次要求時使用。這樣可以確保區域中的所有 PoP 共享本地緩存,從而消除了對原始服務器的多個請求。 CloudFront 也會與原始伺服器保持持續連線,以便儘快從來源擷取物件。
注意
-
區域節點快取具有與 POP 相同的功能。例如,快取失效請求在到期之前從 POP 快取和區域節點快取中移除物件。下次檢視者要求物件時,會 CloudFront返回原點以擷取物件的最新版本。
-
Proxy HTTP 方法 (
PUT
、POST
、PATCH
、OPTIONS
和DELETE
) 直接從 POP 進入原始伺服器,而且不透過區域節點快取進行代理。 -
在請求時決定的動態請求不會流經區域邊緣快取,而是直接移至原始伺服器。
-
當來源是 Amazon S3 儲存貯體,且請求的最佳區域節點快取與 S3 儲存貯體位於 AWS 區域 相同時,POP 會略過區域節點快取並直接進入 S3 儲存貯體。
下圖說明要求和回應如何透過 CloudFront 節點和區域節點快取流動。
![圖表顯示透過節點和區域邊緣快取從檢視器到原點的要求/回應路徑。](images/regional-edge-caches.png)