

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# CloudFront 如何交付內容
<a name="HowCloudFrontWorks"></a>

經過一些初步設定後，CloudFront 會與您的網站或應用程式合作，加速交付您的內容。本節說明 CloudFront 如何在收到瀏覽者請求後向其提供內容。

**Topics**
+ [

## CloudFront 如何將內容交付給您的使用者
](#HowCloudFrontWorksContentDelivery)
+ [

## CloudFront 使用區域節點快取的方法
](#CloudFrontRegionaledgecaches)

## CloudFront 如何將內容交付給您的使用者
<a name="HowCloudFrontWorksContentDelivery"></a>

在您設定 CloudFront 以交付內容之後，以下是使用者請求物件時會發生的情況：

1. 使用者存取您的網站或應用程式並傳送一或多個物件的請求，如影像檔案或 HTML 檔案。

1. DNS 將請求路由到最適合請求的 CloudFront POP (邊緣節點)，通常會為了延遲選擇距離最近的 CloudFront POP。

1. CloudFront 會檢查快取中是否有所請求的物件。如果物件在快取中，CloudFront 會將物件傳回給使用者。如果物件*不*在快取中，CloudFront 會執行下列作業：

   1. CloudFront 會比較請求與分佈中的規格，將請求轉送至原始伺服器以取得對應的物件類型，例如，轉送至 Amazon S3 儲存貯體或 HTTP 伺服器。

   1. 原始伺服器會將物件傳送回節點。

   1. 來自原始伺服器的第一個位元組一抵達，CloudFront 就會開始向使用者轉送物件。下次有人請求物件時，CloudFront 還會將物件新增到快取中。

![\[透過 CloudFront 來從使用者請求和回應至原始伺服器\]](http://docs.aws.amazon.com/zh_tw/AmazonCloudFront/latest/DeveloperGuide/images/how-cloudfront-delivers-content.png)


## CloudFront 使用區域節點快取的方法
<a name="CloudFrontRegionaledgecaches"></a>

CloudFront 連接點 (也稱為 *POP* 或*節點*) 確保能將熱門內容快速提供給瀏覽者。即使內容的熱門度不足以留在 POP，CloudFront 也有可將更多內容帶給瀏覽者的「區域節點快取」**，有助於提升該內容的效能。

區域節點快取有助於處理所有內容類型，特別是隨著時間推移漸漸不熱門的內容。範例包含使用者產生的內容，例如影片、照片或圖案；電子商務資產，例如產品照片和影片；以及可能因新聞和事件而知名度突然暴增的相關內容。

**區域快取的工作方式**  
區域節點快取是部署在全球各地接近瀏覽者的 CloudFront 位置。位於原始伺服器和 POP (直接向瀏覽者提供內容的全球節點) 之間。隨著物件變得較不熱門，個別 POP 可能會移除這些物件，為更熱門的內容騰出空間。區域節點快取擁有的快取比個別 POP 大，因此物件在最近的區域節點快取位置保留在快取中的時間會比較久。這有助於將更多內容放在距離瀏覽者更近的地方，降低 CloudFront 返回原始伺服器的需求，並提高整體的瀏覽者效能。

當瀏覽者在您的網站上或透過您的應用程式發出請求時，DNS 會將請求路由到最能滿足使用者請求的 POP。此位置通常是與延遲有關的最近 CloudFront 節點。在 POP 中，CloudFront 會檢查快取中是否有所請求的物件。如果物件在快取中，CloudFront 會將物件傳回給使用者。如果物件不在快取中，POP 通常將移至最近的區域節點快取，以擷取物件。如需 POP 何時略過區域節點快取，並直接進入原始伺服器的相關資訊，請參閱以下備註。

在區域節點快取位置中，CloudFront 會再次檢查其快取中是否有請求的物件。如果檔案在快取中，CloudFront 會將其轉送至提出請求的 POP。來自區域節點快取位置的第一個位元組一抵達，CloudFront 就會開始向使用者轉送物件。下次有人請求物件時，CloudFront 還會將物件新增到 POP 的快取中。

至於未在 POP 和區域節點快取位置中進行快取的物件，CloudFront 會比較請求和分佈規格，並將請求轉送到原始伺服器。在原始伺服器將物件傳送回區域節點快取位置後，會將其轉送到 POP，由 CloudFront 轉送給使用者。在這種情況下，CloudFront 除了將物件新增到 POP 之外，還會新增到區域節點快取位置的快取，以供瀏覽者下次請求物件時擷取。如此可確保某個區域中的所有 POP 都共用一份本機快取，不會向原始伺服器提出多個請求。CloudFront 也會與原始伺服器保持永久連線，以便儘快從原始伺服器擷取物件。

**注意**  
區域節點快取具有與 POP 相同的功能。例如，快取失效請求在到期之前從 POP 快取和區域節點快取中移除物件。下次瀏覽者請求該物件時，CloudFront 會回到原始伺服器擷取物件的最新版本。
Proxy HTTP 方法 (`PUT`、`POST`、`PATCH`、`OPTIONS` 和 `DELETE`) 直接從 POP 進入原始伺服器，而且不透過區域節點快取進行代理。
在請求時決定的動態請求不會流經區域邊緣快取，而是直接移至原始伺服器。
當原始伺服器是 Amazon S3 儲存貯體，且請求的最佳區域節點快取與 S3 儲存貯體位於相同位置 AWS 區域 時，POP 會略過區域節點快取並直接前往 S3 儲存貯體。

下列圖表說明請求和回應經 CloudFront 節點和區域節點快取的處理方式。

![\[圖表顯示透過邊緣節點和區域邊緣快取從檢視器到原始伺服器的請求/回應路徑。\]](http://docs.aws.amazon.com/zh_tw/AmazonCloudFront/latest/DeveloperGuide/images/regional-edge-caches.png)
