Range

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

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

ブラウザーの互換性

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Range
CORS-safelisted request header with single bytes range

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

関連情報