If-Range ヘッダー
Baseline
広く利用可能
この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2015年7月以降、すべてのブラウザーで利用可能です。
HTTP の If-Range リクエストヘッダーは、範囲付きリクエストを条件付きにします。
条件が満たされれば、範囲付きリクエストが発行され、サーバーは適切な本体を持つ 206 Partial Content レスポンスを返します。条件が満たされていない場合は、200 OK ステータスでリソース全体が返送されます。
このヘッダーは Last-Modified バリデーターと ETag のどちらかと一緒に使用できますが、両方では使用できません。
最も一般的な用途は、クライアントが前回のデータを最後に受信して以来、サーバー上のリソースが変更されていないことが保証されている状態で、ダウンロードを再開することです。
| ヘッダータイプ | リクエストヘッダー |
|---|---|
| 禁止リクエストヘッダー | いいえ |
構文
If-Range: <day-name>, <day> <month> <year> <hour>:<minute>:<second> GMT
If-Range: <etag>
ディレクティブ
<etag>-
リクエストされたリソースを固有に表すエンティティタグです。これは、二重引用符で囲まれた ASCII 文字の文字列です(例:
"675af34563dc-tr34")。このヘッダーでは、弱いエンティティタグ(W/で始まるもの)を使用することはできません。 <day-name>-
Mon、Tue、Wed、Thu、Fri、Sat、Sunのいずれか(大文字小文字を区別)。 <day>-
2 桁の日番号。例えば "04" または "23"。
<month>-
Jan、Feb、Mar、Apr、May、Jun、Jul、Aug、Sep、Oct、Nov、Decのいずれか(大文字と小文字を区別)。 <year>-
4 桁の年の数字。たとえば "1990" または "2016"。
<hour>-
2 桁の時の数字。たとえば "09" または "23"。
<minute>-
2 桁の分の数字。たとえば "04" または "59"。
<second>-
2 桁の秒の数字。たとえば "04" または "59"。
- GMT
-
グリニッジ標準時。HTTP の日付は常に GMT で表され、決して現地時間で表されることはありません。
例
If-Range: Wed, 21 Oct 2015 07:28:00 GMT
If-Range: "67ab43"
仕様書
| 仕様書 |
|---|
| HTTP Semantics> # field.if-range> |
ブラウザーの互換性
関連情報
- HTTP 条件付きリクエストガイド
ETagLast-ModifiedIf-Match,If-Modified-Since,If-Unmodified-Since,If-None-Match条件付きリクエストヘッダー206 Partial Content,412 Precondition Failed,416 Range Not Satisfiableレスポンスステータスコード