DESIGN / CODE / INFRA / AI

解説

206 Partial Contentは失敗?ファイルの一部を返す応答を知ろう

ファイルを受け取る通信に206と出ていた。200ではないから失敗、とは限らず、要求した一部分を返す成功の応答かもしれないよ。

206 Partial Contentは失敗?ファイルの一部を返す応答を知ろう
保存リストを見る →
この記事の道しるべ 5項目

ファイルを受け取る通信に206と出ていた。200ではないから失敗、とは限らず、要求した一部分を返す成功の応答かもしれないよ。

このページではHTTPの部分取得を知る。実際の大きな動画を何度も取得せず、10バイトの架空のデータを例にする。準備は文字列を読めるメモだけで大丈夫。

全体と一部分を分ける

HTTP 206 Partial Contentは、Rangeによる要求などに対して、対象の一部を返すときに使われる。動画の再生や、条件に合うダウンロードの再開などで役立つ仕組みだよ。

たとえば全体が0123456789の10バイトで、最初の4バイトだけを求めるなら、説明用の要求は次の形になる。

Range: bytes=0-3

バイトの位置は0から数える。0から3までを含むので、返すのは0123の4バイトだよ。文字数とバイト数は一般には同じではないけれど、この例は英数字だけなので一文字を一バイトとして扱える。

Content-Rangeを読む

HTTP/1.1 206 Partial Content
Content-Range: bytes 0-3/10
Content-Length: 4

0-3は今回の範囲、/10は全体のサイズ。本文が4バイトしかなくても、全体が4バイトという意味ではないよ。この応答と0123の本文を、ローカルの小さな練習サーバーで照合した。

Rangeを送れば必ず206、ではない

配信先が範囲要求を無視して、全体を200で返す場合もある。要求が満たせない場合などには、別の応答になる。受け取る側は、実際のステータスとヘッダーを読んで処理する必要があるよ。

一部のデータを受け取れたことと、全体を正しくそろえたことも別。再開処理では、元のファイルが変わっていないかなどの条件も関係する。

画面の不具合とは分ける

開発者ツールで206を見つけたことだけで、動画が途中で壊れたと決めつけない。どのURLへどの範囲を要求し、どの応答と本文が返ったかを見る。

保存名の仕組みはContent-Disposition、番号の読み方は404ページとHTTPステータスへ。

参照した公式資料

確認日:2026年10月24日。

参考・出典

公開と変更の記録
  • :初回公開

日時は日本時間です。記載のある変更は、確認できた編集記録に基づきます。更新日の違いだけから変更内容を推測して載せることはありません。

更新・訂正の方針 →

みんなのコメント 0

感想や、試してみたことを聞かせてね。コメント・返信は承認後に公開されます。

最初のコメントをどうぞ。