アウトバウンドレスポンスヘッダーは、HTTP レスポンスメッセージヘッダーのコンポーネントの 1 つです。特定のレスポンスパラメーターをクライアントに渡し、キャッシュ動作、オリジン間アクセス、コンテンツタイプ、ダウンロード方法など、さまざまなタイプのクライアント動作を制御するために使用できます。アウトバウンドレスポンスヘッダーを変更することで、ユーザーが高速化ドメイン名でリソースをリクエストした際に、 CDN が返すレスポンスメッセージに設定したレスポンスヘッダーが含まれるようになり、オリジン間アクセスなどの特定の機能を有効化できます。
背景情報
アウトバウンドレスポンスヘッダーは、HTTP プロトコルでキャッシュを制御するためのメカニズムです。クライアントがリソースをリクエストすると、ノードから返される HTTP レスポンスヘッダーにより、特定の条件下でコンテンツをキャッシュすることが可能になります。
HTTP レスポンスヘッダーの設定はドメインレベルの設定です。設定が有効になると、そのドメイン内のすべてのリソースのレスポンスメッセージに適用されます。
HTTP レスポンスヘッダーの設定は、クライアント (ブラウザーなど) のレスポンス動作にのみ影響し、 CDN ノードのキャッシュ動作には影響しません。高速化ドメイン名がワイルドカードドメイン名の場合、アウトバウンドレスポンスヘッダーの変更はサポートされません。
シナリオ
CDN から返されるレスポンスファイルのリソースタイプをクライアントに通知: レスポンスヘッダー
Content-Type: text/htmlを追加して、 CDN から返されるレスポンスファイルが HTML 形式であることをクライアントに通知します。オリジン間リソースアクセスの実現:ユーザーが CDN 上のドメイン名のリソースをリクエストする際、 CDN から返されるレスポンスメッセージにレスポンスヘッダー
Access-Control-Allow-Originを設定することで、オリジン間アクセスを実現できます。詳細については、「オリジン間リソース共有 (CORS) の設定」をご参照ください。Alibaba Cloud CDN は、設定された CORS ルールに基づいてユーザーから受信したオリジン間リクエストの検証もサポートしており、これによりオリジン間リソースアクセスをより柔軟に制御できます。ファイルのダウンロード:CDN で高速化されたドメイン名を介して OSS ファイルにアクセスする場合、ブラウザーはデフォルトでファイルをプレビューします。アウトバウンドレスポンスヘッダーに
Content-Disposition: attachmentを追加すると、ブラウザーはファイルをプレビューする代わりにダウンロードするようになります。レスポンス動作のカスタマイズ:ビジネス要件に基づいてカスタムヘッダー情報を追加または変更し、クライアントが受信するレスポンスのコンテンツと形式を調整します。
注意事項
-
複数の設定は、設定リストに表示される順序で上から下に実行されます。効果は累積されます。複数の設定が同じヘッダーを変更する場合、最後の設定が優先されます。次の例では、設定 2 が有効になります。
-
設定 1:HTTP レスポンスヘッダーを追加:
cache-control: max-age=3600 -
設定 2:HTTP レスポンスヘッダーを追加:
cache-control: no-cache
-
-
ルール条件が適用される場合、照合は設定の順序ではなく、条件の優先度によって決定されます。
CDN は、Via や EagleId などのシステム予約レスポンスヘッダーの削除や変更をサポートしていません。これらのヘッダーは CDN ノードに関する情報を記録するために使用されます。削除や変更を設定しても、その設定は有効にならず、システムは最後のノードの情報を保持します。
アウトバウンドレスポンスヘッダーの設定を変更した後、設定は通常 5 分以内に有効になります。リソースを再度プリフェッチする必要はありません (プリフェッチはキャッシュされたリソースのレスポンスヘッダーを変更しません)。
操作手順
Alibaba Cloud CDN コンソールにログインします。
左側のナビゲーションペインで [ドメイン名 ] をクリックします。
[ドメイン名] ページで、管理対象のドメイン名を見つけ、[アクション] 列の [管理] をクリックします。

ドメイン名の左側のナビゲーションウィンドウで、[キャッシュ設定] をクリックします。
[アウトバウンドレスポンスヘッダーの変更] タブをクリックします。
追加 をクリックして、送信レスポンスヘッダーを変更します。
次の例では、アウトバウンドレスポンスヘッダーの追加方法について説明します。
パラメーター
説明
[実行内容]
指定されたレスポンスヘッダーを追加、削除、変更、または置換します。
[応答ヘッダー]
カスタムレスポンスヘッダーパラメーターを選択します。詳細については、「レスポンスヘッダーパラメーター」をご参照ください。
[カスタム応答ヘッダー名]
カスタムレスポンスヘッダーパラメーターをカスタムに設定した場合、カスタムレスポンスヘッダー名を設定する必要があります。カスタムレスポンスヘッダー名の要件は以下のとおりです。
大文字、小文字、ハイフン、数字で構成されている必要があります。
長さは 1~100 文字である必要があります。
[応答ヘッダー値]
設定するレスポンスヘッダー値を入力します。詳細については、「レスポンスヘッダーパラメーター」をご参照ください。
[重複の許可]
[はい]:オリジンサーバーから返されたヘッダーを保持し、同じ名前のヘッダーを追加します。
[いいえ]:オリジンサーバーから返されたヘッダーは、新しく設定された同じ名前のヘッダーで上書きされます。
[CORS]
CORS 検証はデフォルトで無効になっています。CORS 検証は、実行内容が「追加」に設定され、応答ヘッダーが「Access-Control-Allow-Origin」に設定されている場合にのみ設定できます。
[有効化]:CORS 検証が有効な場合、CDN ノードは次のルールに基づいてユーザーからのオリジン間リクエストを検証し、検証結果に基づいて「Access-Control-Allow-Origin」の値を返します。
[無効]:CORS 検証が無効な場合、CDN ノードはユーザーリクエストに含まれる Origin ヘッダーを検証せず、設定された Access-Control-Allow-Origin 値のみを返します。
CORS 検証ルールについては、「CORS 検証ルール」をご参照ください。
[ルール条件]
ルール条件は、ユーザーリクエストに含まれるさまざまなパラメーターを識別し、設定がそのリクエストで有効になるかを判断します。
重要ルール条件が設定されている場合、システムは機能の設定順序ではなく、関連するルール条件の優先度に基づいてルールを照合します。
使用しない:ルール条件を使用しません。
ルール条件を追加または編集するには、ルールエンジンで管理します。
OK をクリックして設定を完了します。
アウトバウンドレスポンスヘッダーの変更に成功すると、ノード HTTP レスポンスヘッダー リストで現在の設定に対して 変更 または 削除 操作を実行できます。
設定例:PDF ファイルに Cache-Control:no-cache を設定
PDF ファイルに対してクライアントにキャッシュネゴシエーション (リクエストごとにファイルが更新されているかを CDN ノードで検証) を実行させたい場合は、ルールエンジンを使用できます。
送信レスポンスヘッダー設定を追加する場合、ルール条件 を使用するように選択します。
一致条件を、ファイル拡張子に
.pdfを含むように設定します。アクションを、アウトバウンドレスポンスヘッダーを変更して
cache-control:no-cacheを追加するように設定します。
この設定は、CDN がクライアントに返すレスポンスヘッダーにのみ影響し、クライアントにキャッシュネゴシエーションを実行させますが、PDF ファイルに対する CDN ノードのキャッシュポリシーには影響しません。
CORS 検証ルール
重複の許可 と CORS の設定項目は相互に排他的です。重複の許可 が はい に設定されている場合、CORS 検証は無効になります。
ワイルドカード一致: カスタムレスポンスヘッダーパラメーター
Access-Control-Allow-Originの値が*に設定されている場合、ユーザーリクエストにOriginパラメーターが含まれているかどうか、およびOriginパラメーターの値にかかわらず、Access-Control-Allow-Origin:*が常に返されます。完全一致:カスタムレスポンスヘッダーパラメーター
Access-Control-Allow-Originの値を、1 つ以上の値に設定します (複数の値は,で区切ります)。ユーザーリクエストヘッダーに含まれる
Originパラメーターの値が、設定されたいずれかの値と完全に一致する場合、対応するオリジン間ヘッダーが返されます。完全一致が見つからない場合、オリジン間ヘッダーは返されません。
ワイルドカードドメイン一致:カスタムレスポンスヘッダーパラメーター
Access-Control-Allow-Originの値がワイルドカードドメイン名に設定されている場合、システムはリクエストヘッダーの Origin 値がAccess-Control-Allow-Originのワイルドカードドメイン名と一致するかどうかを検証します。
設定方法については、「オリジン間リソース共有 (CORS) の設定」をご参照ください。
レスポンスヘッダーパラメーター
レスポンスヘッダーパラメーター | 説明 | 例 |
カスタム | カスタムレスポンスヘッダーを追加できます。カスタムレスポンスヘッダー名の要件は次のとおりです。
| 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 |
Content-Security-Policy | コンテンツセキュリティポリシー (CSP) を設定して、ページがどのリソースを読み込めるかを制御し、XSS 攻撃やデータインジェクションなどのセキュリティ脅威から防御します。CDN は CSP ポリシーコンテンツのセマンティック検証を行わず、HTTP レスポンスヘッダーの基本形式のみを検証します。ポリシーコンテンツは単一行の文字列である必要があり、改行、無効な制御文字、またはエスケープされていない引用符を含めることはできません。外側の二重引用符は含めないでください。ポリシーを入力する前にブラウザーの開発者ツールでポリシーを検証するか、CDN がそれをパススルーするようにオリジンサーバーで CSP を設定することを推奨します。 | default-src 'self'; script-src 'self' 'unsafe-inline' |
Permissions-Policy | 権限ポリシーを設定して、カメラ、マイク、地理位置情報などの特定のブラウザー機能へのアクセス権限を制御します。 | camera=(), microphone=() |
レスポンスヘッダー値は
*に設定でき、これは任意のオリジンを示します。レスポンスヘッダー値が
*でない場合、1 つ以上の IP アドレス、1 つ以上のドメイン名、または IP アドレスとドメイン名の組み合わせを設定できます。カンマ (,) で区切ります。レスポンスヘッダー値が
*でない場合、値にはプロトコルヘッダーhttp://またはhttps://を含める必要があります。レスポンスヘッダー値にはポートを含めることができます。
レスポンスヘッダー値はワイルドカードドメイン名をサポートします。
アウトバウンドレスポンスヘッダーとインバウンドレスポンスヘッダーの違い
アウトバウンドレスポンスヘッダーとインバウンドレスポンスヘッダーは、キャッシュプロセスの異なる段階に適用されます。レスポンスヘッダーを設定する前に、対象オブジェクトを確認してください。
アウトバウンドレスポンスヘッダー (ノード HTTP レスポンスヘッダー): CDN ノードからクライアント (ブラウザーなど) に送信されるレスポンスヘッダー。ノードにコンテンツがキャッシュされている場合、ノードはオリジンフェッチを行わずにコンテンツを直接クライアントに返します。このタイプのレスポンスヘッダーは、クライアントと CDN ノード間のキャッシュ動作を制御するために使用されます。
インバウンドレスポンスヘッダー (オリジンフェッチ HTTP レスポンスヘッダー): オリジンサーバーから CDN ノードに送信されるレスポンスヘッダー。ノードのキャッシュが期限切れになった場合やキャッシュミスが発生した場合、ノードはオリジンサーバーに最新のコンテンツをリクエストします。オリジンサーバーから返されるヘッダーがインバウンドレスポンスヘッダーです。このタイプのレスポンスヘッダーは、オリジンサーバーと CDN ノード間のキャッシュ動作を制御するために使用されます。
インバウンドレスポンスヘッダーへの変更 (Set-Cookie のドメインフィールドの変更など) は、オリジンサーバーと CDN ノード間の通信にのみ影響し、エンドユーザーはこれらの変更を認識しません。エンドユーザーが受信するレスポンスに影響を与えるには、アウトバウンドレスポンスヘッダーを設定します。アウトバウンドレスポンスヘッダーを設定しても有効にならない場合は、オリジンサーバーでレスポンスヘッダーを変更することを推奨します。
複数ドメイン名の一括設定
アウトバウンドレスポンスヘッダー設定は、複数のドメイン名に一括で追加できます。BatchSetCdnDomainConfig API を呼び出してドメイン名の一括設定を行い、操作の関数パラメーターを使用してレスポンスヘッダーを追加するルールを設定できます。
設定の有効化時間
設定は通常 5 分以内に有効になります。設定が有効になる前は、ステータスが [設定中] と表示されますが、これは正常です。
よくある質問
レスポンスヘッダー設定が有効にならないなどの問題のトラブルシューティングについては、「キャッシュのトラブルシューティングガイド」をご参照ください。