INDEX
206 Partial Contentについて
206 Partial Contentの概要
部分的なリソースを返すHTTPステータスコード | ||
206 Partial Content 概要 206 Partial Contentは、クライアントのリクエストに基づいてリソースの一部を返す場合に使用されるHTTPステータスコードです。主に、 |
||
意味 クライアントのリクエストが成功し、指定された範囲のコンテンツが返されました。 |
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ステータスコードを利用できます。