すべてのプロダクト
Search
ドキュメントセンター

CDN:HTTP応答ヘッダーの設定

最終更新日:Mar 26, 2024

HTTP応答ヘッダーは、HTTPで送信される応答メッセージのヘッダーセクションのコンポーネントです。 HTTPレスポンスヘッダーは、キャッシュを管理するための特定のパラメーターをクライアントに配信します。 HTTPレスポンスヘッダーを設定し、Alibaba Cloud CDN が設定されたレスポンスヘッダーを返すことを許可します。 このようにして、クロスオリジンリソース共有 (CORS) などの特定の機能を実装できます。

背景情報

HTTP応答ヘッダーを使用して、HTTPを介して送信されるコンテンツのキャッシュを管理できます。 クライアントがリソースを要求すると、POP (point of presence) はクライアントにHTTP応答ヘッダーを返します。これにより、クライアントとPOPは特定の条件下で応答をキャッシュできます。

image
説明
  • HTTPレスポンスヘッダーの設定は、ドメイン名に適用されます。 HTTPレスポンスヘッダーを設定すると、レスポンスヘッダーの設定は、ドメイン名宛てのすべてのリクエストへのレスポンスに対して有効になります。

  • HTTP応答ヘッダーは、ブラウザーなどのクライアントの応答動作にのみ影響します。 HTTPレスポンスヘッダーは、POPのキャッシュ動作には影響しません。

シナリオ

  • 返されるリソースのタイプをクライアントに通知します。 たとえば、Content-Type: text/htmlレスポンスヘッダーを追加して、返されたファイルがHTML形式であることをクライアントに通知できます。

  • CORSを有効にします。 ユーザーがAlibaba Cloud CDNによって高速化されたドメイン名でリソースを要求した場合、応答にAccess-Control-Allow-Originヘッダーを追加してCORSを有効にすることができます。 詳細については、「CORSの設定」をご参照ください。

    さらに、Alibaba Cloud CDNでは、カスタムCORSルールに基づいてクロスオリジンリクエストの認証を有効にして、CORSのアクセス制御を規制することができます。

  • カスタムレスポンス動作を設定します。 カスタムヘッダーを追加または変更して、ビジネス要件に基づいてクライアントに返される応答メッセージの内容と形式を変更できます。 これにより、特定の機能を実装したり、応答を追跡できます。

使用上の注意

同じヘッダーに対して複数のルールが設定されている場合、ルールは設定リストの上から下に実行されます。 例:

  • 構成1: cache-control: max-age=3600レスポンスヘッダーを追加します。

  • 設定2: cache-control: no-cacheレスポンスヘッダーを追加します。

上記の組み合わせ構成では、構成2が有効になります。

手順

  1. Alibaba Cloud CDNコンソール

  2. 左側のナビゲーションウィンドウで、ドメイン名 をクリックします。

  3. [ドメイン名] ページで、管理するドメイン名を見つけて、アクション 列の 管理 をクリックします。

  4. ドメイン名の左側のナビゲーションツリーで、キャッシュ設定 をクリックします。

  5. ノード HTTP レスポンスヘッダー タブをクリックします。

  6. 追加 をクリックします。

    次の表に、設定する必要があるパラメーターを示します。

    パラメーター

    説明

    実行内容

    特定のレスポンスヘッダーを追加、削除、変更、または置き換えることができます。

    応答ヘッダー

    レスポンスヘッダーを選択します。 詳細については、「レスポンスヘッダー」をご参照ください。

    カスタム応答ヘッダー名

    レスポンスヘッダーパラメーターを [カスタム] に設定した場合、次のルールに基づいてヘッダー名を指定する必要があります。

    • 名前には、文字、アンダースコア (-) 、および数字を使用できます。

    • 名前は1 ~ 100文字である必要があります。

    応答ヘッダー値

    ヘッダー値を指定します。 詳細については、「レスポンスヘッダー」をご参照ください。

    重複の許可

    • はい: ヘッダーの重複が許可されています。 Alibaba Cloud CDNコンソールに追加され、配信元サーバーから返された重複ヘッダーはすべて保持されます。

    • いいえ: ヘッダーの重複は許可されていません。 Alibaba Cloud CDNコンソールで追加されたヘッダーは、オリジンサーバーから返された重複ヘッダーを上書きします。

    CORS

    デフォルトでは、CORSは無効になっています。 CORSは、実行内容パラメーターをAddに、応答ヘッダーパラメーターをAccess-Control-Allow-Originに設定した場合にのみ設定できます。

    • 有効にする: CORSを有効にすると、POPsはCORSルールに基づいてユーザーリクエストのOriginヘッダーをチェックし、Access-Control-Allow-Originヘッダーの値を指定します。

    • 無効: CORSを無効にすると、POPはユーザーリクエストのOriginヘッダーをチェックしません。 この場合、POPはAccess-Control-Allow-Originヘッダーの設定値を返します。

    詳細については、「CORSルール」をご参照ください。

    ルール条件

    ルール条件は、構成が要求に適用されるかどうかを決定するために要求内のパラメータを識別できる。

    • 条件を使用しない

    • ルールエンジンで設定されたルール条件を選択します。 詳細については、「ルールエンジン」をご参照ください。

  7. OK をクリックします。

    HTTPレスポンスヘッダーを設定すると、ノード HTTP レスポンスヘッダー タブにHTTPレスポンスヘッダーが表示されます。 ヘッダーを変更または削除するには、[操作] 列の 変更 または 削除 をクリックします。

CORSルール

重要

重複の許可[CORS] の設定は相互に排他的です。 重複の許可 パラメーターを はい に設定すると、CORSの設定は無効になります。

  • ワイルドカードパターンマッチ: Access-Control-Allow-Originヘッダーをアスタリスク (*) に設定した場合、ユーザーリクエストにOriginヘッダーまたはOriginヘッダーが設定されている値が含まれているかどうかに関係なく、Access-Control-Allow-Origin:* が返されます。

  • 完全一致: Access-Control-Allow-Originヘッダーに1つ以上の値を指定できます。 値はコンマ (,) で区切ります。

    • ユーザーリクエストのOriginヘッダーの値がAccess-Control-Allow-Originヘッダーの値と一致する場合、一致したAccess-Control-Allow-Originヘッダーの値が返されます。

    • ユーザーリクエストのOriginヘッダーの値がAccess-Control-Allow-Originの値と一致しない場合、Access-Control-Allow-Originヘッダーは返されません。

  • ワイルドカードドメイン名の一致: Access-Control-Allow-Originヘッダーをワイルドカードドメイン名に設定すると、Originヘッダーの値がワイルドカードドメイン名と一致します。

詳細については、「CORS の設定」をご参照ください。

レスポンスヘッダー

レスポンスヘッダー

説明

Custom

ビジネス要件に基づいてカスタムレスポンスヘッダーを作成できます。 次のルールに基づいて、レスポンスヘッダーの名前を指定する必要があります。

  • 名前には、文字、アンダースコア (-) 、および数字を使用できます。

  • 名前は1 ~ 100文字である必要があります。

テストヘッダー

Cache-Control

要求と応答が従うキャッシュルール。

no-cache

Content-Disposition

取得したコンテンツがクライアントにファイルとして保存されるときに使用される既定のファイル名。

examplefile.txt

Content-Type

クライアントに返されるリソースのメディアタイプ。

テキスト /プレーン

Pragma

プラグマは、サーバー応答でキャッシュ制御ディレクティブを運ぶために使用されるHTTP/1.0汎用型ヘッダーです。

no-cache

Access-Control-Allow-Origin

レスポンスを共有できるオリジン。 [ヘッダー値] フィールドでアスタリスク (*) をワイルドカード文字として使用して、すべてのドメイン名を指定できます。 http://www.aliyun.comなどの特定のドメイン名を入力することもできます。

説明
  • このヘッダーをアスタリスク (*) に設定すると、すべてのオリジンに一致します。

  • 1つ以上のIPアドレス、ドメイン名、またはIPアドレスとドメイン名の組み合わせを設定できます。 複数入力する場合は、カンマ (,) で区切ります。

  • このヘッダーのワイルドカード文字としてアスタリスク (*) を使用しない場合、値はhttp:// またはhttps:// で始まる必要があります。

  • ポート番号がサポートされています。

  • ワイルドカードドメイン名がサポートされています。

  • *

  • http://www.aliyun.com

  • https://aliyun.com:8080、http:// 10.10.10.10.10

  • http://*.aliyun.com

Access-Control-Allow-Methods

クロスオリジンリクエストで使用できるリクエストメソッド。 1つ以上のリクエストメソッドを指定できます。 リクエストメソッドはコンマ (,) で区切ります。

POST、GET

Access-Control-Allow-Headers

クロスオリジンリクエストで使用できるヘッダーフィールド。

X-カスタム-ヘッダー

Access-Control-Expose-Headers

レスポンスの一部として公開できるヘッダー。

Content-Length

Access-Control-Allow-Credentials

ブラウザーがフロントエンドページに応答を公開できるかどうかを指定します。

  • true: ブラウザは応答をフロントエンドページに公開できます。

  • その他の値: ブラウザはフロントエンドページに応答を公開できません。

true

Access-Control-Max-Age

プリフライト要求の結果をキャッシュできる期間。 単位は秒です。

600

FAQ