ポイントオブプレゼンス (POP) のキャッシュの有効期限が切れるか、キャッシュミスが発生すると、POP はオリジンサーバーに最新のコンテンツをリクエストします。オリジンサーバーから返されるコンテンツと HTTP ヘッダーは、オリジンレスポンスヘッダーと呼ばれます。オリジンサーバーでこれらのヘッダーを変更することで、キャッシュポリシーの定義、オリジン間リソース共有 (CORS) の設定などができます。これにより、Web サイトの読み込み速度の最適化、コンテンツセキュリティの強化、リソースアクセシビリティのコントロール、ユーザーエクスペリエンスの向上が可能になります。
背景
HTTP レスポンスヘッダーは、特定のパラメータをクライアントに伝える HTTP レスポンスの構成要素です。
エンドユーザーがリクエストしたコンテンツが CDN ノードにキャッシュされていない場合、CDN はオリジンフェッチを実行し、オリジンサーバーがレスポンスを返します。このインバウンドレスポンス内の HTTP ヘッダーは変更できます。たとえば、クライアントに渡す前に Content-Type ヘッダーの値を書き換えることで、適切に解析されるようにできます。オリジンサーバーが誤った Content-Type 値を返すと、クライアントがコンテンツを正しく解析できない場合があります。CDN でヘッダーを書き換えることで、この問題を解決できます。
インバウンドレスポンスとは、オリジンサーバーが CDN ノードに送信する HTTP メッセージです。インバウンドレスポンスヘッダーの変更は、オリジンサーバーから CDN ノードに送信される HTTP メッセージにのみ影響し、CDN ノードがエンドユーザーに配信するレスポンスに反映されます。
ワイルドカードドメインでは、インバウンドレスポンスヘッダーを変更できません。
ユースケース
以下は、一般的なユースケースと例です。
誤ったコンテンツタイプ:オリジンサーバーから返されるコンテンツタイプ (
Content-Type) が実際のコンテンツと一致しない場合、クライアントが正しく解析できない可能性があります。例えば、HTML ファイルが誤ってプレーンテキストとしてマークされる場合があります。この問題は、オリジンレスポンスヘッダーを設定することで解決できます。例:
Content-Type: text/plainをContent-Type: text/htmlに変更します。キャッシュポリシーのコントロール:CDN キャッシュポリシーをきめ細かくコントロールする必要がある場合、オリジンサーバーのレスポンスヘッダーの
Cache-ControlまたはExpiresフィールドを調整できます。これにより、コンテンツの更新頻度とキャッシュヒット率を最適化できます。例:
Cache-Control: max-age=3600をCache-Control: max-age=86400に変更して、キャッシュの有効期限を延長します。CDN のデフォルトキャッシュルールの詳細については、「Alibaba Cloud CDN のデフォルトキャッシュルールと優先順位」をご参照ください。クロスオリジンリソース共有 (CORS):他のドメインの Web アプリケーションから CDN でホストされているリソースにアクセスできるようにするには、オリジンサーバーで
Access-Control-Allow-Originヘッダーおよびその他の関連する CORS ヘッダーを設定する必要があります。これらの設定により、ブラウザがクロスオリジンリクエストを実行する際に、CDN が適切なレスポンスヘッダーをクライアントに提供し、CORS エラーを防ぐことができます。クロスオリジンアクセスの問題の詳細については、「クロスオリジンリソース共有の設定」をご参照ください。例:
Access-Control-Allow-Origin: *: すべてのドメインからのクロスオリジンリソースリクエストを許可します。Access-Control-Allow-Methods: GET, POST, OPTIONS: クロスオリジンリクエストで許可する HTTP メソッドを指定します。
圧縮転送:オリジンサーバーがコンテンツを圧縮して返したものの、適切な
Content-Encodingヘッダーが設定されていない場合があります。これにより、クライアントはコンテンツを正しく解凍できない可能性があります。オリジンレスポンスヘッダーを設定して、正しいヘッダーを追加または変更することでこの問題を解決できます。例:誤ったヘッダー
Content-Encoding: gzipを、正しいContent-Encoding: brに変更します。詳細については、「Brotli 圧縮」をご参照ください。リダイレクト:オリジンサーバーがユーザーを別の URL にリダイレクトする必要がある場合、オリジンレスポンスヘッダーで正しいリダイレクトヘッダーを設定できます。詳細については、「301/302 リダイレクトフォローの設定」をご参照ください。
例:
Location: https://www.example.com/new-page.html: 301 または 302 リダイレクトを行うため、CDN とユーザーのブラウザに新しいリソースの場所を通知します。カスタムオリジン動作: 特定の機能を実装するため、またはトラッキング目的で、レスポンスにカスタムヘッダーを追加する必要がある場合があります。
注記
複数の設定は、設定リストの上から順に実行されます。効果は累積します。複数の設定が同じヘッダーを変更する場合、最後の設定が優先されます。次の例では、設定 2 が有効になります:
設定 1:HTTP レスポンスヘッダーの追加:
cache-control: max-age=3600設定 2:HTTP レスポンスヘッダーの追加:
cache-control: no-cache
ルール条件を適用する場合、マッチングは設定の順序ではなく、条件の優先度によって決まります。
操作手順
Alibaba Cloud CDN コンソールにログインします。
左側のナビゲーションペインで [ドメイン名 ] をクリックします。
[ドメイン名] ページで、管理対象のドメイン名を見つけ、[アクション] 列の [管理] をクリックします。

ドメイン名の左側のナビゲーションウィンドウで、[Back-to-Origin 設定] をクリックします。
受信レスポンスヘッダーの変更 タブをクリックします。
追加 をクリックします。
イングレスのレスポンスヘッダー設定を変更します。
重要複数の操作が同じオリジンレスポンスヘッダーパラメーターに適用される場合、操作は次の優先度に基づいて実行されます:[書き換え] > [追加] > [変更] および [削除]。 たとえば、同じパラメーターに追加操作と削除操作の両方が設定されている場合、追加操作が削除操作の前に実行されます。
レスポンスヘッダーの追加
レスポンスヘッダーの削除
レスポンスヘッダーの変更
レスポンスヘッダーの置換
OK をクリックします。
デフォルトのレスポンスヘッダー
Alibaba Cloud CDN は、デフォルトで Cache-Control、Content-Type、Expires、Last-Modified の 4 つのレスポンスヘッダーを設定します。これらの重要な HTTP プロトコルヘッダーは、キャッシングを制御し、コンテンツタイプを定義し、有効期限を設定し、リソースの最終変更時刻を記録します。
ヘッダー | 説明 | 例 |
Cache-Control | リソースのキャッシュ動作と期間を制御します。POP (ポイントオブプレゼンス) とクライアントブラウザにキャッシュディレクティブを提供し、コンテンツをキャッシュするタイミング、期間、およびいつ失効するかを指定します。このヘッダーは、レガシー |
|
Content-Type | リソースのメディアタイプを指定します。このヘッダーは、クライアントブラウザがデータを正しく解釈してレンダリングするのに役立ちます。また、CDN はこのヘッダーをコンテンツの処理と転送に使用します。 |
|
Expires | リソースが失効する日時を指定します。CDN はこのヘッダーを使用して、リソースがまだ有効であるかどうかを判断します。失効している場合、CDN はオリジンフェッチを実行して更新版を取得します。 |
|
Last-Modified | リソースの最終更新日時を示します。CDN とクライアントブラウザは、このレスポンスヘッダーを使用して、キャッシュされたリソースが最新であるかどうかを判断します。 |
|
設定例
例 1:応答の MIME タイプの設定
ユースケース
応答に特定の MIME タイプを設定します。
MIME タイプには、次の主要なカテゴリがあります。
テキスト: テキストファイル (.txt、.csv など) や HTML ファイル (.html、.htm、.shtml など) が含まれます。
画像: 一般的な画像ファイル (.jpg、.png、.gif など) が含まれます。
音声: 音声ファイル (.mp3、.wav など) が含まれます。
動画: 動画ファイル (.mp4、.avi など) が含まれます。
アプリケーション: アプリケーションファイル (.pdf、.doc、.xls など) が含まれます。
設定
応答ヘッダーの操作: 追加
ヘッダー名: Content-Type
ヘッダー値: text/html
[重複を許可] を [許可しない] に、[ルール条件] を [使用しない] に設定し、[OK] をクリックします。
結果: POP は、クライアントに応答を返す前に応答に Content-Type: text/html ヘッダーを追加します。 このヘッダーを再度設定すると、新しい値が既存の値を上書きします。
例 2:応答ヘッダーの削除
ユースケース
応答ヘッダーを削除します。
設定
応答ヘッダーの操作: 削除
ヘッダー名: Content-Type
[重複を許可] を [許可しない] に、[ルール条件] を [使用しない] に設定し、[OK] をクリックします。
結果: POP は、クライアントに応答を返す前に Content-Type ヘッダーを応答から削除します。
例 1 と 例 2 の両方の設定を適用すると、システムはまず Content-Type: text/html 応答ヘッダーを追加し、次に削除します。 その結果、クライアントは指定された MIME タイプなしで応答を受信します。