

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# アプリのパフォーマンスを向上させるような Cache-Control ヘッダーの使用
<a name="Using-headers-to-control-cache-duration"></a>

Amplify のデフォルトのホスティングアーキテクチャは、ホスティングパフォーマンスとデプロイの可用性のバランスを最適化します。ほとんどのお客様には、デフォルトのアーキテクチャを使用することをお勧めします。

アプリのパフォーマンスをより細かく制御する必要がある場合は、コンテンツ配信ネットワーク (CDN) エッジでキャッシュされたコンテンツをより長い間隔で保持することにより、ホスティングパフォーマンスを最適化するように HTTP `Cache-Control` ヘッダーを手動で設定できます。

HTTP `Cache-Control` ヘッダー の `max-age` と `s-maxage` のディレクティブは、アプリのコンテンツキャッシュ期間に影響します。`max-age` ディレクティブは、オリジンサーバーからコンテンツが更新されるまでにコンテンツをキャッシュに保持する期間 (秒単位) をブラウザに指示します。`s-maxage` ディレクティブでは `max-age` よりも優先され、オリジンサーバーからコンテンツが更新されるまでにコンテンツが CDN エッジに保持される期間 (秒単位) を指定できます。

Amplify でホストされるアプリは、オリジンから送信される `Cache-Control` ヘッダーを尊重します。ただし、定義したカスタムヘッダーで上書きする場合は除きます。Amplify は、`200 OK` ステータスコードで成功したレスポンスに対してのみ、`Cache-Control` カスタムヘッダーを適用します。これにより、エラー応答がキャッシュされ、同じリクエストを行う他のユーザーに送信されるのを防ぎます。

`s-maxage` ディレクティブを手動で調整して、アプリのパフォーマンスとデプロイの可用性をより細かく制御できます。たとえば、コンテンツがエッジにキャッシュされている時間を変更するには、デフォルトの 31536000 秒 (1 年) 以外の値に `s-maxage` を更新することで、有効期間 (TTL) を手動で延長できます。

Amplify コンソールの「**カスタムヘッダー**」セクションで、アプリのカスタムヘッダーを定義できます。YAML 形式の例については、「[キャッシュコントロールカスタムヘッダーの設定](setting-custom-headers.md#example-cache-headers)」を参照してください。

次の手順で、CDN エッジでコンテンツを 24 時間キャッシュされたままにするように `s-maxage` ディレクティブを設定します。

**カスタム 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. アプリを再デプロイして新しいカスタムヘッダーを適用します。