206 Partial Content 部分的なリソースを返すHTTPステータスコード

スポンサーリンク
スポンサーリンク

206 Partial Contentについて

206 Partial Contentの概要

部分的なリソースを返すHTTPステータスコード

206 Partial Content

概要 206 Partial Contentは、クライアントのリクエストに基づいてリソースの一部を返す場合に使用されるHTTPステータスコードです。主に、Rangeヘッダーを用いた範囲リクエストの応答として返され、部分的なデータ転送を可能にします。

意味 クライアントのリクエストが成功し、指定された範囲のコンテンツが返されました。

206 Partial Contentはどのような時に返されるか

  • Rangeヘッダーを使用してリソースの特定範囲をリクエストした場合
  • 大きなリソースを分割してダウンロードする場合
  • ストリーミングサービスやファイル再生で部分的なデータが必要な場合

206 Partial Contentの具体例

ファイルの部分ダウンロード

GET /large-file.zip HTTP/1.1  
Host: example.com  
Range: bytes=0-1023  

レスポンス例:

HTTP/1.1 206 Partial Content  
Content-Range: bytes 0-1023/1048576  
Content-Type: application/zip  

[binary data for the first 1024 bytes]

解説: クライアントがRangeヘッダーを使用してリクエストを送信し、サーバーが指定された範囲のデータ(この場合、最初の1024バイト)を返した例です。この方法は、大きなファイルを部分的にダウンロードする際に有効です。

動画のストリーミング再生

GET /video.mp4 HTTP/1.1  
Host: example.com  
Range: bytes=1048576-2097151  

レスポンス例:

HTTP/1.1 206 Partial Content  
Content-Range: bytes 1048576-2097151/4194304  
Content-Type: video/mp4  

[binary data for the requested byte range]

解説: 動画プレイヤーがRangeヘッダーを使用してデータの特定範囲をリクエストし、サーバーが指定された部分の動画データを返す例です。この仕組みにより、シーク操作がスムーズに行えます。

注意点

206 Partial Contentを返す際の注意点:

  • 適切なContent-Rangeヘッダーの設定
    レスポンスには必ずContent-Rangeヘッダーを含め、返されるデータの範囲とリソース全体のサイズを明示してください。
  • 範囲の有効性の確認
    クライアントのリクエストが無効な範囲(例: リソースのサイズを超える範囲)を指定している場合、416 Range Not Satisfiableを返す必要があります。

関連するHTTPステータスコードとの比較

206 Partial Contentと関連性のあるステータスコードについて解説します。

  • 200 OK: リクエストが成功し、リソース全体を返す場合に使用されます。
  • 416 Range Not Satisfiable: クライアントが無効な範囲をリクエストした場合に返されるエラーコードです。

これらの違いを理解することで、適切な用途で206ステータスコードを利用できます。