オリジンサーバーから返されるCache-ControlやExpiresなどの応答ヘッダーを変更、削除、追加することで、キャッシュポリシーの最適化、セキュリティの強化、ユーザーエクスペリエンスのカスタマイズが可能です。
背景情報
この機能は、事前定義されたルールに基づいて、指定された受信応答ヘッダーを変更します。この機能を使用して追加された応答ヘッダーは、ESA サーバーがオブジェクトを処理する前に有効になります。応答コンテンツがキャッシュ可能な場合、これらのヘッダーは応答とともにキャッシュに保存されます。この動作は、「送信応答ヘッダーの変更」とは異なります。送信応答ヘッダーを変更する場合、ヘッダーの追加または変更は、ESA サーバーが応答を処理し、オリジンサーバーまたはキャッシュから完全な応答を取得した後にのみ行われます。その後、応答は直ちにクライアントに送信されます。
操作手順
ルールを追加すると、ユーザーがリソースをリクエストした際に、ESA はルールの実行優先度に基づいてルールを順番に照合し、実行します。
ESA コンソールで、サイト管理 を選択します。サイト 列で、対象サイトの名前をクリックします。
左側のナビゲーションウィンドウで、 を選択します。
[応答ヘッダーの変更] タブをクリックします。次に、[オリジンから ESA] を選択し、ルールを追加 をクリックして、ルール名 を入力します。
リクエストが以下のルールと一致する場合... セクションで、リクエスト条件を設定します。ルールの設定方法の詳細については、「ルール式のコンポーネント」をご参照ください。
[応答ヘッダーの変更] セクションで、操作 を選択し、レスポンスヘッダー名 と レスポンスヘッダー値 を入力して、OK をクリックします。
操作
タイプ
説明
例
追加
静的
指定された応答ヘッダーをクライアントに送信される応答に追加します。
応答ヘッダーに同じ名前のヘッダーが既に含まれている場合、新しいヘッダーが既存のヘッダーを上書きします。
名前が
x-codeで、値がkey1の応答ヘッダーを追加するには、以下を指定します。レスポンスヘッダー名:
x-codeレスポンスヘッダー値:
key1
動的
応答ヘッダー値は式に設定できます。
クライアント IP アドレスの国またはリージョンを記録するために、
Client-Ip-Geo-Locationという名前で値がip.geoip.countryの応答ヘッダーを追加するには、次のように指定します。レスポンスヘッダー名:
Client-Ip-Geo-Locationレスポンスヘッダー値:
ip.geoip.country
変更
静的
クライアントに送信される応答内の指定された応答ヘッダーの値を変更します。
応答ヘッダー
x-codeを値key2に変更するには、以下を指定します。レスポンスヘッダー名:
x-codeレスポンスヘッダー値:
key2
動的
応答ヘッダー値は式に設定できます。
応答ヘッダー
Client-Ip-Geo-Locationの値を、クライアント IP アドレスの国またはリージョンを示すip.geoip.countryに変更するには、以下を指定します。レスポンスヘッダー名:
Client-Ip-Geo-Locationレスポンスヘッダー値:
ip.geoip.country
削除
重複する応答ヘッダーパラメーターがあるかどうかに関係なく、クライアントに送信される応答から レスポンスヘッダー名 に一致するすべてのパラメーター値を削除します。
x-codeという名前の応答ヘッダーを削除するには、レスポンスヘッダー名:x-codeを指定します。説明レスポンスヘッダー名 は
ali-またはAli-で始めることはできません。レスポンスヘッダー値 フィールドには、複数の値を指定できます。その場合、値はカンマ (
,) で区切ってください。削除操作は、静的モードと動的モードの両方で同じように機能します。
更新操作は、既存の応答ヘッダーを変更します。この操作は、元の応答に指定された名前の応答ヘッダーが存在する場合にのみ有効になります。
応答ヘッダーパラメーター
応答ヘッダーパラメーター | 説明 | 例 |
カスタム | カスタム応答ヘッダーを追加できます。カスタム応答ヘッダー名は、次の要件を満たす必要があります:
| Test-Header |
Cache-Control | クライアントプログラムのリクエストと応答が従うべきキャッシュ機構を指定します。 | no-cache |
Content-Disposition | クライアントプログラムがリクエストされたコンテンツをファイルとして保存するときのデフォルトのファイル名を指定します。 | examplefile.txt |
Content-Type | クライアントプログラムに応答オブジェクトのコンテンツタイプを指定します。 | text/plain |
Pragma | Pragma は HTTP/1.0 で定義された一般的なヘッダーです。このヘッダーは通常、サーバーの応答でファイルのクライアントのキャッシュ動作を定義するために使用されます。 | no-cache |
Access-Control-Allow-Origin | どのオリジンがリソースにアクセスできるかを指定します。これは、オリジン間リソース共有 (
|
|
Access-Control-Allow-Methods | クロスオリジンリクエストで許可するメソッドを指定します。複数のメソッドはカンマ ( | POST,GET |
Access-Control-Allow-Headers | クロスオリジンリクエストで許可されるフィールドを指定します。 | X-Custom-Header |
Access-Control-Expose-Headers | アクセスが許可されているカスタムヘッダーを指定します。 | Content-Length |
Access-Control-Allow-Credentials | この応答ヘッダーは、リクエストへの応答をページに公開できるかどうかを示します。
| true |
Access-Control-Max-Age | クライアントプログラムが特定のリソースに対するプリフライトリクエストの結果をキャッシュできる時間を秒単位で指定します。 | 600 |
関連ドキュメント
ルール関連の機能は、実行優先度、ルールの動作、および設定範囲が異なります。詳細については、「ESA ルールの有効化の仕組み」をご参照ください。