HTTPステータスコード416の仕様
416 Range Not Satisfiableステータスコードは、リクエストのRangeヘッダーフィールド(セクション3.1)のどの範囲も選択されたリソースの現在の範囲に重ならないこと、または無効な範囲や小さい範囲や重なる範囲の過剰なリクエストのために、リクエストした範囲のセットが拒否されたことを示します。
バイト範囲について、現在の範囲を重ならないことはすべてのバイト範囲指定値の最初のバイト位置が選択した表現の現在長よりも大きいことを意味しています。このステータスコードがバイトレンジリクエストに応答して生成されるとき、送信者は選択された表現の現在の長さを指定するContent-Rangeヘッダーフィールドを生成するべきであります(セクション4.2)。
例えば、以下のようになります:
HTTP/1.1 416 Range Not Satisfiable
Date:Fri, 20 Jan 2012 15:41:54 GMT
Content-Range: bytes */47022
注意:サーバーはRangeを自由に無視できるので、多くの実装は単に200(OK)応答で選択した表現全体を応答するでしょう。 これは,ほとんどのクライアントがタスクを完了するために200 (OK)を受け取る準備をしているため(効率は悪いですが),また,クライアントが完全な表現を受け取るまで無効な部分要求をやめることがないためでもあります。したがって,クライアントは,416 Range Not Satisfiable応答を受け取ることが最も適切であるときでも,それに依存することはできない。
出典・引用元はこちら 416 Range Not Satisfiable HTTP Status Code は、4.4 のセクションで規定されています。
PHPで416ステータスコードを投げるには?
WebページでHTTPステータスコード416を投げるには、PHPの関数http_response_codeを使用することができます。構文は次のとおりです: http_response_code(416) (PHP 5 >= 5.4.0, PHP 7, PHP 8)
416 HTTPステータスコードのテスト
クライアント側でHTTPステータスコード(ここでは416 Range Not Satisfiable)などを表示できるようにするためには、F12で開発コンソールを開く必要があります。次に、「ネットワーク」タブに移動します。これでページを開くことができ、ネットワークタブにウェブサイト(例のindex.php)が表示されるはずです。これを選択し、次にHerderセクションを選択する必要があります。すると、ユーザーは次のような結果を見ることができます:
URL: https://http-statuscode.com/errorCodeExample.php?code=416
ステータス: 416 Range Not Satisfiable
それらの: Network
IPアドレス: XX.XX.XX.XX
ステータスコード416のエラーページを自作する方法
Apache Webserver
Webサーバー「Apache」は、インターネット上で最も一般的なWebサーバーの1つです。Apache」で独自の416 Range Not Satisfiableエラーページを作成するためには、以下のファイルを変更する必要があります。
NGINX Webserver
Webサーバー「Apache」と同様に、「NGINX」もインターネット上で広く利用されています。NGINX」で独自の416 Range Not Satisfiableエラーページを作成するためには、以下のファイルを変更する必要があります。
location = /416.html {
root /usr/share/nginx/html;
internal;
}
416ステータスコードのブラウザ互換性
Chrome | no data |
Edge | no data |
Firefox | no data |
Opera | no data |
Safari | no data |
Chrome Android | no data |
Firefox for Android | no data |
Opera Android | no data |
Safari on iOS | no data |
Internet | no data |
WebView Android | no data |
プログラミング言語における定数
HttpStatusCode.RequestedRangeNotSatisfiable
http.StatusRequestedRangeNotSatisfiable
Response::HTTP_REQUESTED_RANGE_NOT_SATISFIABLE
httplib.REQUESTED_RANGE_NOT_SATISFIABLE
http.client.REQUESTED_RANGE_NOT_SATISFIABLE
http.HTTPStatus.REQUESTED_RANGE_NOT_SATISFIABLE
:requested_range_not_satisfiable