HTTPステータスコード206の仕様
206 Partial Contentステータスコードは、リクエストのRangeヘッダーフィールド(セクション3.1)で見つかった満足できる範囲に対応する選択された表現の1つ以上の部分を転送することによって、サーバーがターゲットリソースの範囲リクエストを正常に満たしていることを示します。
単一の部分が転送される場合、206 Partial Content応答を生成するサーバーは、選択した表現のどの範囲が含まれているかを記述するContent-Rangeヘッダーフィールドと範囲からなるペイロードを生成しなければなりません (MUST)。 例えば
HTTP/1.1 206 Partial Content Partial Content
Date:Wed, 15 Nov 1995 06:25:24 GMT
Last-Modified:Wed, 15 Nov 1995 04:58:08 GMT
Content-Range: bytes 21010-47021/47022
Content-Length: 26012
Content-Type: image/gif
・・・。26012バイトの部分画像データ・・・。
複数の部分が転送されている場合、206 Partial Content応答を生成するサーバーは、付録Aで定義されているように、「multipart/byteranges」ペイロードと、multipart/byterangesメディアタイプとその必須境界パラメータを含むContent-Typeヘッダーフィールドを生成しなければなりません (MUST)。シングルパート応答との混乱を避けるため、サーバーはマルチパート応答のHTTPヘッダーセクションにContent-Rangeヘッダーフィールドを生成してはなりません(MUST NOT)(このフィールドは代わりに各パートで送信されます)。
マルチパートペイロードの各ボディパートのヘッダー領域内で、サーバーはそのボディパートで囲まれている範囲に対応する Content-Range ヘッダーフィールドを生成しなければなりません (MUST)。 選択された表現が200(OK)応答でContent-Typeヘッダーフィールドを持っていた場合、サーバーは各ボディパートのヘッダー領域に同じContent-Typeフィールドを生成するべきです(SHOULD)。
たとえば:
HTTP/1.1 206 Partial Content Partial Content
Date:Wed, 15 Nov 1995 06:25:24 GMT
Last-Modified:Wed, 15 Nov 1995 04:58:08 GMT
Content-Length: 1741
Content-Type: multipart/byteranges; boundary=THIS_STRING_SEPARATES
--THIS_STRING_SEPARATES
Content-Type: application/pdf
Content-Range: bytes 500-999/8000
--THIS_STRING_SEPARATES
Content-Type: application/pdf
Content-Range: bytes 7000-7999/8000
・・・・・。the second range
--THIS_STRING_SEPARATES--
複数の範囲が要求された場合、サーバーは、重複する範囲、または複数の部分を送信するオーバーヘッドよりも小さいギャップによって分離されている範囲を、受信Rangeヘッダーフィールドで対応するbyte-range-specが現れた順序とは関係なく、合体してもよい(MAY)。 multipart/byterangesペイロードの部分間の典型的なオーバーヘッドは、選択された表現のメディアタイプと選択された境界パラメータ長に応じて、約80バイトであるので、選択された表現全体を転送するよりも多くの小さなバラバラの部分を転送する方が効率が悪い場合があります。
複数のパートを要求しないクライアントはマルチパート応答をサポートしないかもしれないので、サーバーは単一の範囲に対する要求に対してマルチパート応答を生成してはなりません(MUST NOT)。 しかし、複数の範囲がリクエストされ、1つの範囲だけが満足できることがわかった場合、または合体後に1つの範囲だけが残った場合、サーバーは単一のボディ部分のみを持つmultipart/byterangesペイロードを生成してもよい(MAY)。 multipart/byteranges応答を処理できないクライアントは、複数の範囲を要求するリクエストを生成してはならない(MUST NOT)。
マルチパート応答ペイロードが生成されるとき、サーバーは受信したRangeヘッダーフィールドに対応するbyte-range-specが現れたのと同じ順序でパートを送信し、満足できないとみなされた範囲や他の範囲に合体した範囲は除外すべきである(SHOULD)。 マルチパート応答を受け取るクライアントは、どの範囲がそのボディパートに 含まれているかを決定するために、各ボディパートに存在するContent-Rangeヘッダー フィールドを検査しなければならない[MUST];クライアントは、リクエストしたのと同じ 範囲や同じ順番で受け取ることに依存できない。206 Partial Content応答が生成されるとき、サーバーは、上記で要求されたヘッダー フィールドに加えて、次のヘッダーフィールドを生成しなければならない[MUST]。
出典・引用元はこちら 206 Partial Content HTTP Status Code は、4.1 のセクションで規定されています。
PHPで206ステータスコードを投げるには?
WebページでHTTPステータスコード206を投げるには、PHPの関数http_response_codeを使用することができます。構文は次のとおりです: http_response_code(206) (PHP 5 >= 5.4.0, PHP 7, PHP 8)
206 HTTPステータスコードのテスト
クライアント側でHTTPステータスコード(ここでは206 Partial Content)などを表示できるようにするためには、F12で開発コンソールを開く必要があります。次に、「ネットワーク」タブに移動します。これでページを開くことができ、ネットワークタブにウェブサイト(例のindex.php)が表示されるはずです。これを選択し、次にHerderセクションを選択する必要があります。すると、ユーザーは次のような結果を見ることができます:
URL: https://http-statuscode.com/errorCodeExample.php?code=206
ステータス: 206 Partial Content
それらの: Network
IPアドレス: XX.XX.XX.XX
206ステータスコードのブラウザ互換性
Chrome | Yes |
Edge | Yes |
Firefox | Yes |
Opera | Yes |
Safari | Yes |
Chrome Android | Yes |
Firefox for Android | Yes |
Opera Android | Yes |
Safari on iOS | Yes |
Internet | Yes |
WebView Android | Yes |
プログラミング言語における定数
http.StatusPartialContent
Response::HTTP_PARTIAL_CONTENT
:partial_content
HTTPステータスコード206に関する詳細な情報を提供する外部リンク集:
HTTPステータスコード206に関するミームを楽しませる
ブログ記事
SEOとHTTPステータスコード包括的な分析
検索エンジン(SEO)のためにウェブサイトを最適化することは、複雑な仕事です。見落とされがちですが、良いランキングのために重要な側面の1つがHTTPステータスコードです。この小さな3桁のコードは、ユーザーや...