

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

# 使用 Cache-Control 標頭來提高應用程式效能
<a name="Using-headers-to-control-cache-duration"></a>

Amplify 的預設託管架構可最佳化託管效能和部署可用性之間的平衡。對於大多數客戶，我們建議您使用預設架構。

如果您需要更精確地控制應用程式的效能，您可以手動設定 HTTP `Cache-Control`標頭，讓內容在內容交付網路 (CDN) 邊緣快取更長的間隔，以最佳化託管效能。

HTTP `Cache-Control`標頭`max-age`和 `s-maxage` 指令會影響應用程式的內容快取持續時間。`max-age` 指令會告知瀏覽器，您希望內容在快取中保留多久 （以秒為單位），再從原始伺服器重新整理內容。`s-maxage` 指令會覆寫`max-age`並可讓您指定要內容保留在 CDN 邊緣多久 （以秒為單位），再從原始伺服器重新整理內容。

使用 Amplify 託管的應用程式會遵守原始伺服器傳送的`Cache-Control`標頭，除非您使用您定義的自訂標頭來覆寫它們。Amplify 只會為具有`200 OK`狀態碼的成功回應套用`Cache-Control`自訂標頭。這可防止錯誤回應被快取，並提供給提出相同請求的其他使用者。

您可以手動調整 `s-maxage` 指令，以進一步控制應用程式的效能和部署可用性。例如，若要變更內容在邊緣保持快取的時間長度，您可以透過將 更新`s-maxage`為預設 31536000 秒 （一年） 以外的值，手動設定存留時間 (TTL)。

您可以在 Amplify 主控台的自訂標頭區段中定義應用程式的**自訂標頭**。如需 YAML 格式的範例，請參閱 [設定快取控制自訂標頭](setting-custom-headers.md#example-cache-headers)。

使用下列程序來設定 `s-maxage`指令，讓內容在 CDN 邊緣快取 24 小時。

**設定自訂Cache-Control標頭**

1. 登入 AWS 管理主控台 並開啟 [Amplify 主控台](https://console.aws.amazon.com/amplify/)。

1. 選擇要為其設定自訂標頭的應用程式。

1. 在導覽窗格中，選擇**託管**、**自訂標頭**。

1. 在**自訂標頭**頁面上，選擇**編輯**。

1. 在**編輯自訂標頭**視窗中，輸入自訂標頭的資訊，如下所示：

   1. 對於 `pattern`，輸入 **\$1\$1/\$1** 表示所有路徑。

   1. 針對 `key`，請輸入 **Cache-Control**。

   1. 針對 `value`，請輸入 **s-maxage=86400**。

1. 選擇**儲存**。

1. 重新部署應用程式以套用新的自訂標頭。