Alibaba Cloud CDN の配信拠点(POP)にリクエストされたリソースがキャッシュされていない場合、またはキャッシュの有効期限が切れている場合、POP はオリジンサーバーにリクエストを送信して最新のリソースを取得します。オリジンサーバーから返された HTTP メッセージのヘッダーは、オリジンレスポンスヘッダーです。着信レスポンスヘッダーを変更して、キャッシュポリシーとクロスオリジンリソースシェアリング(CORS)を設定できます。これにより、Web サイトのパフォーマンス、セキュリティ、およびユーザーエクスペリエンスが向上し、リソースへのアクセスを効果的に管理できます。
背景情報
HTTP レスポンスヘッダーは、HTTP を介して送信されるレスポンスメッセージのヘッダーセクションのコンポーネントです。 HTTP レスポンスヘッダーには、クライアントに送信される特定のパラメーターが含まれています。
リクエストされたリソースが POP にキャッシュされていない場合、リクエストはオリジンサーバーにリダイレクトされます。次に、オリジンサーバーはリクエストされたリソースを POP に返します。オリジンサーバーからの着信レスポンスヘッダーを書き換えることができます。このようにして、クライアントは応答情報を簡単に識別できます。たとえば、クライアントがオリジンサーバーから取得したコンテンツを解析できるように、Content-Type ヘッダーの値をクライアントに返す前に書き換えることができます。オリジンサーバーから返された Content-Type ヘッダーが無効な場合、文字化けが発生します。この場合、POP で Content-Type の値を書き換える必要があります。
オリジンサーバーが POP からリクエストを受信した後、オリジンサーバーは HTTP メッセージを返します。書き換えルールは、オリジンサーバーから返されたレスポンスの HTTP ヘッダーのみを書き換えます。書き換えルールは、POP から直接返されたレスポンスの HTTP ヘッダーは書き換えません。
ワイルドカードドメイン名に対してカスタムの着信レスポンスヘッダーを設定することはできません。
シナリオ
Content-Type の値が無効: オリジンサーバーから返される
Content-Typeの値が実際のコンテンツの種類と一致しない場合、クライアントはコンテンツを解析できない可能性があります。たとえば、HTML ファイルがプレーンテキストとして誤ってマークされている場合は、レスポンスヘッダーを書き換えることができます。この例では、
Content-Type: text/plainをContent-Type: text/htmlに変更します。キャッシュポリシー: 正確なキャッシュ制御を維持したい場合は、
Cache-ControlまたはExpiresレスポンスヘッダーを調整できます。これにより、キャッシュされたコンテンツの更新頻度とヒット率が最適化されます。この例では、
Cache-Control: max-age=3600をCache-Control: max-age=86400に変更して、キャッシュの有効期間を延長します。詳細については、「デフォルトのキャッシュルールとキャッシュルールの優先順位」をご参照ください。CORS: 他のドメインの Web アプリケーションが Alibaba Cloud CDN でホストされているリソースにアクセスできるようにするには、オリジンサーバーで
Access-Control-Allow-Originおよびその他の関連する CORS ヘッダーを設定します。これらの設定により、クロスオリジンリクエストが開始されたときに、Alibaba Cloud CDN がクライアントに正しいレスポンスヘッダーを提供することが保証されます。詳細については、「CORS の設定」をご参照ください。例:
Access-Control-Allow-Origin: *: すべてのドメインからのアクセスが許可されます。Access-Control-Allow-Methods: GET, POST, OPTIONS: クライアントが使用できる HTTP メソッドは、GET、POST、および OPTIONS です。
圧縮
Accept-Encoding: 圧縮がサポートされているがオリジンサーバーで無効になっている場合、または使用されている圧縮アルゴリズムが最適でない場合は、 レスポンスヘッダーを設定して、オリジンサーバーが最適な圧縮方式を使用できるようにすることができます。この例では、Brotli 圧縮を最初に使用するために、
Accept-Encoding: gzip, deflateをAccept-Encoding: brに変更します。詳細については、「Brotli 圧縮を構成する」をご参照ください。リダイレクト: オリジンサーバーがリクエストを別の URL にリダイレクトする必要がある場合は、この機能を使用して正しいリダイレクトレスポンスヘッダーを設定できます。詳細については、「301/302 リダイレクトの設定」をご参照ください。
例:
Location: https://www.example.com/new-page.html。Location ヘッダーの値は、オリジンサーバーから返された HTTP ステータスコード 301 または 302 を POP が受信した後にリクエストされたリソースの新しいアドレスを指定します。カスタムオリジンレスポンスヘッダー: オリジンサーバーが特別な要件のカスタム HTTP ヘッダーを返すようにするには、カスタム HTTP レスポンスヘッダーを設定できます。
使用上の注意
同じヘッダーに複数のルールが設定されている場合、ルールは設定リストの上から下へ実行されます。例:
設定 1:
cache-control: max-age=3600レスポンスヘッダーを追加します。設定 2:
cache-control: no-cacheレスポンスヘッダーを追加します。
上記の組み合わせ設定では、設定 2 が有効になります。
手順
Alibaba Cloud CDN コンソールにログインします。
左側のナビゲーションウィンドウで、ドメイン名 をクリックします。
ドメイン名 ページで、管理するドメイン名を見つけ、管理 列の アクション をクリックします。
ドメイン名の左側のナビゲーションツリーで、Back-to-Origin 設定 をクリックします。
受信レスポンスヘッダーの変更 タブをクリックします。
追加 をクリックします。
カスタムレスポンスヘッダーダイアログボックスでパラメーターを設定します。
重要同じレスポンスヘッダーに対して同時に異なる操作を実行する場合、操作の優先順位が異なります。操作の優先順位は、[置換] > [追加] > [変更] または [削除] の順に高くなります。たとえば、同じレスポンスヘッダーに対して追加操作と削除操作を同時に実行すると、レスポンスヘッダーが追加されてから削除されます。
追加操作のパラメーター
削除操作のパラメーター
変更操作のパラメーター
置換操作のパラメーター
OK をクリックします。
デフォルトのプリセットレスポンスヘッダー
デフォルトでは、Alibaba Cloud CDN は Cache-Control、Content-Type、Expires、Last-Modified のレスポンスヘッダーを提供します。これらのレスポンスヘッダーは、キャッシュの制御、コンテンツタイプの定義、キャッシュの有効期限の指定、リソースの最終変更時刻の記録に使用される HTTP プロトコルの重要なコンポーネントです。
Alibaba Cloud CDN のプリセットレスポンスヘッダー | 説明 | 例 |
Cache-Control | POP およびクライアントブラウザーでリソースをキャッシュする方法と期間を指定します。このレスポンスヘッダーは、 |
|
Content-Type | クライアントに返されるリソースのデータ型を記述します。このレスポンスヘッダーは、クライアントが受信したリソースを正しく解釈して表示するのに役立ち、後続のデータ処理と送信を容易にします。 |
|
Expires | キャッシュされたコンテンツの有効期限が切れる正確な日付または時刻を指定します。コンテンツの有効期限が切れると、POP はオリジンサーバーから更新されたリソースをすぐにリクエストします。 |
|
Last-Modified | リソースが最後に変更された時刻を指定します。Alibaba Cloud CDN およびブラウザーは、このレスポンスヘッダーを使用して、前回のキャッシュ以降にリソースが変更されたかどうかを判断します。 |
|
例
例 1: ユーザーに返されるコンテンツが MIME タイプであることを指定する
サンプルシナリオ
レスポンスヘッダーを追加して、ユーザーに返されるコンテンツが指定された MIME タイプであることを指定します。
MIME コンテンツには次のタイプが含まれます。
テキスト: .txt や .csv ファイルなどのテキストファイル、および .html、.htm、.shtml ファイルなどの HTML ファイルが含まれます。
画像: .jpg、.png、.gif ファイルなどの一般的な画像ファイルが含まれます。
オーディオ: .mp3 や .wav ファイルなどのオーディオファイルが含まれます。
ビデオ: .mp4 や .avi ファイルなどのビデオファイルが含まれます。
アプリケーション: .pdf、.doc、.xls ファイルなどのアプリケーションファイルが含まれます。
設定
操作: 追加
レスポンスヘッダー: Content-Type
ヘッダー値: text/html

期待される結果: オリジンサーバーは、値が text/html である Content-Type ヘッダーを POP に返されるレスポンスに追加します。設定が更新されると、値は上書きされます。
例 2: レスポンスヘッダーを削除する
サンプルシナリオ
レスポンスからレスポンスヘッダーを削除します。
設定
操作: 削除
レスポンスヘッダー: Content-Type

期待される結果: Content-Type ヘッダーは、ユーザーに返される前にレスポンスから削除されます。
例 1 の追加操作と例 2 の削除操作を実行すると、値が text/html である Content-Type ヘッダーがレスポンスに追加されてから削除されます。その結果、ユーザーに返されるコンテンツは、指定された MIME タイプではなく元のタイプになります。



