ポイントオブプレゼンス (POP) のキャッシュが期限切れになった場合、またはキャッシュミスが発生した場合、POP はオリジンサーバーに最新のコンテンツを要求します。オリジンサーバーから返されるコンテンツと HTTP ヘッダーは、オリジンレスポンスヘッダーと呼ばれます。オリジンサーバーでこれらのヘッダーを変更して、キャッシュポリシーの定義やオリジン間リソース共有 (CORS) の設定などを行うことができます。これにより、Web サイトの読み込み速度の最適化、コンテンツのセキュリティ強化、リソースのアクセシビリティ制御、ユーザーエクスペリエンスの向上が可能になります。
背景情報
HTTP レスポンスヘッダーは、特定のパラメーターをクライアントに伝達する HTTP レスポンスのコンポーネントです。
エンドユーザーからリクエストされたコンテンツが CDN ノードにキャッシュされていない場合、CDN はオリジンフェッチを実行し、オリジンサーバーがレスポンスを送信します。このオリジンレスポンス内の HTTP ヘッダーを変更できます。たとえば、クライアントに渡される前に Content-Type ヘッダーの値を書き換えることで、クライアントで適切に解析されるようにすることができます。オリジンサーバーが不正な Content-Type の値を返した場合、クライアントはコンテンツを正しく解析できない可能性があります。この問題は、CDN 上でヘッダーを書き換えることで解決できます。
-
オリジンレスポンスは、オリジンサーバーが CDN ノードに送信する HTTP メッセージです。この機能でオリジンレスポンスヘッダーを変更すると、CDN ノードが受信したヘッダーが書き換えられます。この変更されたヘッダーは、CDN のキャッシュ動作や、CDN ノードがエンドユーザーに提供するレスポンスに影響します。
-
ワイルドカードドメインのオリジンレスポンスヘッダーは変更できません。
ユースケース
一般的なユースケースと例を次に示します。
-
不正な Content-Type:オリジンサーバーから返されたコンテントタイプ (
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 エラーを防ぐことができます。オリジン間アクセスの問題に関する詳細については、「オリジン間リソース共有 (CORS) の設定」をご参照ください。例:
-
Access-Control-Allow-Origin: *:すべてのドメインからのオリジン間リソースリクエストを許可します。 -
Access-Control-Allow-Methods: GET, POST, OPTIONS:オリジン間リクエストで許可される HTTP メソッドを指定します。
-
-
圧縮転送:オリジンサーバーが圧縮されたコンテンツを返すものの、正しい
Content-Encodingヘッダーを送信しない場合があります。これにより、ブラウザがコンテンツを正しく解凍できなくなります。オリジンレスポンスヘッダーを変更してContent-Encodingヘッダーを追加または修正することで、この問題を解決し、圧縮転送を確実に機能させることができます。例: Brotli 圧縮を優先させるために、
Accept-Encoding: gzip, deflateをAccept-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 タイプには、次の主要なカテゴリが含まれます。
-
Text:テキストファイル (.txt や .csv など) や HTML ファイル (.html、.htm、.shtml など) が含まれます。
-
Image:一般的な画像ファイル (.jpg、.png、.gif など) が含まれます。
-
Audio:オーディオファイル (.mp3 や .wav など) が含まれます。
-
Video:ビデオファイル (.mp4 や .avi など) が含まれます。
-
Application:アプリケーションファイル (.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 タイプが指定されていないレスポンスを受信します。
よくある質問
-
トラブルシューティングに関する質問 (CORS、文字化け、ダウンロード/プレビュー、Set-Cookie、JS MIME タイプなど) については、「キャッシュのトラブルシューティング」をご参照ください。
-
コンサルティングに関する質問 (オリジン ACAO チェック、正確なビデオ/mp4 設定、JS ファイルのサポート、ファイル同期ステータスなど) については、「オリジンフェッチに関するよくある質問」をご参照ください。