DCDN アクセスポイント(POP)からオリジンサーバーにリダイレクトされたリクエストに Range ヘッダーが含まれている場合、オリジンサーバーは Range ヘッダーで指定されたコンテンツを DCDN POP に返します。このプロセスは、範囲オリジンフェッチと呼ばれます。範囲オリジンフェッチは、ファイル配信を高速化し、キャッシュヒット率を高め、オリジントラフィックとオリジンサーバーの負荷を削減し、サイトの応答速度を向上させます。
背景情報
Range ヘッダーは、取得するコンテンツの一部を指定する HTTP ヘッダーです。たとえば、Range: bytes=0-100
は、リクエストされたファイルの最初の 101 バイトを返すようにオリジンサーバーに要求することを指定します。
範囲オリジンフェッチ機能を有効にすると、 DCDN POP で期限切れになったリソースまたはキャッシュされていないリソースに対するリクエストは、Range ヘッダーを保持したままオリジンサーバーにリダイレクトされます。その後、 DCDN は、指定されたファイルチャンクをオリジンサーバーから取得し、 DCDN POP にキャッシュします。
次の図は、範囲オリジンフェッチの仕組みを示しています。
始める前に
オリジンサーバーが HTTP 範囲リクエストをサポートしており、HTTP 206 ステータスコード(部分コンテンツメッセージ)でリクエストに応答できることを確認してください。オリジンサーバーが HTTP 範囲リクエストをサポートしていない場合、範囲オリジンフェッチ機能を有効にした後、リソースを POP にキャッシュできません。
Multipart Ranges 機能はデフォルトで無効になっており、範囲オリジンフェッチ機能を有効にしても有効になりません。 Multipart Ranges 機能を有効にするには、チケットを送信 してください。
範囲オリジンフェッチ機能を有効にすると、オリジンフェッチの 1 秒あたりのクエリ数(QPS)が増加します。オリジンサーバーでレート制限機能が有効になっている場合、オリジンサーバーに送信されたリクエストが調整される可能性があります。この問題を防ぐために、DescribeL2VipsByDomain 操作を呼び出して DCDN のオリジンフェッチ POP の IP アドレスをクエリし、これらの IP アドレスをオリジンサーバーの IP アドレスホワイトリストに追加できます。
範囲オリジンフェッチの設定
DCDN コンソール にログインします。
左側のナビゲーションウィンドウで、ドメイン名 をクリックします。
ドメイン名 ページで、管理するドメイン名を見つけて 設定 をクリックします。
ドメイン名の左側のナビゲーションツリーで、オリジンフェッチ をクリックします。
範囲の Back-to-Origin セクションで、変更 をクリックします。
[範囲オリジンフェッチ] パラメーターを [範囲オリジンフェッチを有効にしない]、[クライアントと一致]、または [範囲オリジンフェッチを有効にする(大規模ファイル配信に推奨)] に設定します。
[クライアントと一致] または [範囲オリジンフェッチを有効にする(大規模ファイル配信に推奨)] を選択した場合は、[シャードサイズ] パラメーターを設定できます。デフォルト値:[512 KB]。
範囲オリジンフェッチ
[範囲オリジンフェッチを有効にしない]
説明
これはデフォルトのオプションです。リクエストに Range ヘッダーが含まれているかどうかに関係なく、 DCDN POP はオリジンサーバーからファイル全体を取得します。この場合、ファイル配信効率は大規模ファイル配信シナリオでの期待値よりも低くなります。
例
クライアントが
Range: bytes=0-100
を含むリクエストを DCDN POP に送信します。 DCDN POP は、Range ヘッダーなしでリクエストをオリジンサーバーにリダイレクトします。オリジンサーバーはファイル全体を DCDN POP に返します。POP は受信したファイルをキャッシュし、Range: bytes=0-100
で指定されたチャンクをクライアントに返します。
[クライアントと一致]
説明
クライアントが Range リクエストをオリジンサーバーにリクエストを転送します。クライアントが POP に Range リクエストを送信すると、POP はリクエストをオリジンサーバーに転送します。オリジンサーバーにリダイレクトされるリソースへの最初のリクエストの場合、 DCDNRange ヘッダーの値を最も近い整数に四捨五入します。この場合、シャードサイズの整数倍になります。同じリソースに対する後続のリクエストでは、Range ヘッダーのサイズを は Range ヘッダーの値を最も近い整数(この場合はシャードサイズの整数倍)に切り上げます。同じリソースへの後続のリクエストの場合、Range ヘッダーのサイズを [シャードサイズ]。 パラメーターの値に設定できます。
例
[シャードサイズ] パラメーターが [512 KB] に設定されている場合、クライアントは
Range:bytes=0-614399
(600 KB)を含むリクエストを DCDN POP に送信します。 DCDN POP は、最初のリクエストでオリジンサーバーからサイズが 1,024 KB(600 KB から切り上げた最も近い整数)のコンテンツを取得し、後続のリクエストでサイズが 512 KB のコンテンツを取得します。
[範囲オリジンフェッチを有効にする(大規模ファイル配信に推奨)]
説明
POP は、リクエストに Range ヘッダーが含まれているかどうかに関係なく、Range ヘッダーを含めてクライアントリクエストをオリジンサーバーにリダイレクトします。すべての範囲リクエストは、設定されたサイズ([シャードサイズ] パラメーターの値)のコンテンツをオリジンサーバーからプルします。
例
該当なし
シャードサイズ
有効値:[512 KB]、[1 MB]、[2 MB]、[4 MB]。
説明:[範囲オリジンフェッチ] パラメーターを [オン] または [強制] に設定した場合は、[シャードサイズ] パラメーターを設定できます。デフォルト値:[512 KB]。
例:[1 MB]。
ルール条件
有効値:
[無効]
ルールエンジン で設定済みのルール条件を選択します。
説明:
ルール条件は、リクエスト内のパラメーターを識別して、設定がリクエストに適用されるかどうかを判断できます。
例:[無効]