Accept-Ranges:

Accept-Ranges: ヘッダー (HTTP)

[11] Accept-Ranges: ヘッダーは、 対象資源が対応している範囲単位を表します。

[12] 似た名前の Accept: などのヘッダーとは異なり、 このヘッダー応答メッセージで使われます。

仕様書

意味

[3] Accept-Ranges: ヘッダーは、 対象資源について範囲要求に対応していることを表します >>1

構文

[4] 1つ以上範囲単位リスト (#) か、 none の値を指定できます >>1

  1. |
    1. =
      1. 範囲単位
      2. *
        1. OWS
        2. ,
        3. OWS
        4. 範囲単位
    2. none

[8] 範囲単位は、対象資源がその範囲単位を使った範囲要求に対応していることを表します。

[9] none は、対象資源範囲要求に対応していないことを表します。

文脈

[5] 対象資源へのバイト範囲範囲要求に対応している起源鯖は、 Accept-Ranges: bytes を送信して構いません >>3

[6] しかしクライアントは必ずしもこれを確認しなくても範囲要求を送信して構いません >>3

[7] 対象資源への範囲要求に対応していないは、 Accept-Ranges: none を送信して構いません >>3

[14] >>13範囲単位 rows を使う前に OPTIONS 要求を送信して Accept-Ranges: を確認することを求めています。

実装

[17] Apachenginx も、静的ページでの 200 応答Accept-Ranges: bytes を送信するようです。

歴史

[2] RFC 2068・2616 (HTTP/1.1) 14.5 Accept-Ranges

The Accept-Ranges response-header field allows the server to indicate its acceptance of range requests for a resource:

Accept-Range 応答頭欄では、 サーバーが資源に対する範囲要求の受入れを示すことができます。

  • Accept-Ranges = "Accept-Ranges" ":" acceptable-ranges
  • acceptable-ranges = 1#range-unit | "none"

Origin servers that accept byte-range requests MAY send

byte-range 要求を受け入れる起源サーバーは、

  • Accept-Ranges: bytes
     
    >but are not required to do so. Clients MAY generate byte-range
    requests without having received this header for the resource
    involved. Range units are defined in section 3.12.

を送信しても構いませんが、 必ずしもそうする必要はありません。 クライアントは含まれる資源についてこの頭を受信していなくても byte-range 要求を生成しても構いません範囲単位は 3.12 節で定義しています。

Servers that do not accept any kind of range request for a resource MAY send

資源に対してどの種類の単位も受け入れないサーバーは、

  • Accept-Ranges: none
     
    > to advise the client not to attempt a range request.

を送信してクライアントに範囲要求の試行を行わないよう助言しても構いません

メモ

[10] HTTP では bytes のみしか事実上使われておらず、 またクライアントは別の要求応答を予め当該対象資源について実行していない限り Accept-Ranges: を受け取る方法がありませんから、 クライアントにとっては敢えてこのヘッダーを確認する手段も意味もあまりありません。 範囲要求に対応していない場合は無視して通常の要求として処理することになっていますから、 範囲要求を使うクライアントは普通ははじめから範囲要求を送信します。

[15] Protocol for Media Fragments 1.0 Resolution in HTTP ( ( 版)) <http://www.w3.org/TR/media-frags-recipes/#contentrangemappingheaderdef>

[16] ( ( 版)) <http://www.qtc.jp/3GPP/Specs/26234-a30.pdf>