付録 A. インターネットメディアタイプ multipart/byteranges (Internet Media Type multipart/byteranges)
206 (Partial Content) 応答メッセージが複数の範囲の内容を含む場合、それらは "multipart/byteranges" というメディアタイプを持つマルチパートメッセージボディ ([RFC2046] の 5.1 節) 内のボディパートとして伝送される。
multipart/byteranges メディアタイプは、それぞれが独自の Content-Type フィールドと Content-Range フィールドを持つ 1 つ以上のボディパートを含む。必須の boundary パラメーターは、各ボディパートを区切るために使用される境界文字列を指定する。
実装上の注意:
-
ボディ内の最初の境界文字列の前に、追加の CRLF が置かれることがある。
-
[RFC2046] は境界文字列を引用符で囲むことを認めているが、既存の一部の実装は引用符で囲まれた境界文字列を正しく扱わない。
-
多くのクライアントとサーバーは、byteranges 仕様の初期のドラフト (メディアタイプ multipart/x-byteranges を使用していた) に合わせて実装されており、そのタイプは本タイプとほぼ (ただし完全ではない) 互換である。
名称とは異なり、"multipart/byteranges" メディアタイプはバイト範囲に限定されない。次の例では "exampleunit" という範囲単位を使用している。
HTTP/1.1 206 Partial Content
Date: Tue, 14 Nov 1995 06:25:24 GMT
Last-Modified: Tue, 14 July 04:58:08 GMT
Content-Length: 2331785
Content-Type: multipart/byteranges; boundary=THIS_STRING_SEPARATES
--THIS_STRING_SEPARATES
Content-Type: video/example
Content-Range: exampleunit 1.2-4.3/25
...the first range...
--THIS_STRING_SEPARATES
Content-Type: video/example
Content-Range: exampleunit 11.2-14.3/25
...the second range
--THIS_STRING_SEPARATES--