Rangeヘッダ 【Range:】
概要
Rangeヘッダ(Range:)とは、HTTPヘッダのフィールド(項目)の一つで、クライアントからサーバにコンテンツのどの範囲を送ってほしいか指定するもの。コンテンツ全体ではなく指定の一部分のみを送信させることができる。HTTPリクエストヘッダに用いられる。「Range: 単位=開始位置-終了位置」という書式で、「Range: bytes=256-511」のように指定する。この例では、バイト単位の位置指定で、先頭から256バイト目から511バイト目までを指定している。「256-」のように終了位置を省略すると末尾までという意味になる。
「-256」のように開始位置を省略すると、末尾から指定の長さだけ送れという意味になる。「Range: bytes=256-511,bytes=768-1023」といったように複数の範囲を列挙することもできる。その場合、サーバはMIMEマルチパート(バイト単位の「multipart/byteranges」)形式で複数の断片を繋ぎ合わせた応答を返す。
サーバはRangeヘッダが含まれるリクエストを受け取った場合、通常の「200 OK」ではなく「206 Partial Content」応答でコンテンツを送信する。範囲指定が無効だった場合は「416 Range Not Satisfiable」エラーを返す。範囲指定に対応できない場合に「200 OK」で全体を送信する場合もある。
(2024.8.24更新)