Range

Range は HTTP のリクエストヘッダーで、サーバーが返すべき文書の部分を示します。1 つの Range ヘッダーで複数の部分を一度にリクエストすることができ、サーバーはこれらの範囲をマルチパートの文書で返すことができます。サーバーが範囲を送り返す場合、サーバーはレスポンスに 206 Partial Content を使用します。範囲が無効な場合、サーバは 416 Range Not Satisfiable エラーを返します。サーバーは Range ヘッダ-を無視して、文書全体を 200 のステータスコードで返すこともできます。

ヘッダー種別 リクエストヘッダー
禁止ヘッダー名 いいえ

構文

Range: <unit>=<range-start>-
Range: <unit>=<range-start>-<range-end>
Range: <unit>=<range-start>-<range-end>, <range-start>-<range-end>
Range: <unit>=<range-start>-<range-end>, <range-start>-<range-end>, <range-start>-<range-end>
Range: <unit>=-<suffix-length>

ディレクティブ

<unit>
範囲を指定する単位です。これはふつう bytes です。
<range-start>
整数値で、リクエストする範囲の先頭を指定した単位で示します。
<range-end>
整数値で、リクエストする範囲の末尾を指定した単位で示します。この値は省略可能で、省略時は文書の末尾が範囲の末尾として扱われます。
<suffix-length>
整数値で、返す長さを位でファイルの末尾からの個数を示します。

ファイルから3つの範囲をリクエストします。

Range: bytes=200-1000, 2000-6576, 19000-

ファイルの先頭の500バイトと末尾の500バイトをリクエストします。範囲が重複した場合はサーバーがリクエストを拒否することがあります。

Range: bytes=0-499, -500

仕様書

仕様書 状態
RFC 7233, セクション 3.1: Range Hypertext Transfer Protocol (HTTP/1.1): Range Requests

ブラウザーの互換性

BCD tables only load in the browser

関連情報