HTTP状态代码416的规范
416 Range Not Satisfiable状态代码表示请求的Range头字段(第3.1节)中的范围都没有与所选资源的当前范围重叠,或者由于无效的范围或对小范围或重叠范围的过度请求,请求的范围集被拒绝。
对于字节范围,未能与当前范围重叠意味着所有字节范围-spec值的第一个字节位置大于所选表示的当前长度。当这个状态代码被生成以响应字节范围请求时,发送者应该生成一个Content-Range头域,指定所选表示的当前长度(第4.2节)。
例如:
HTTP/1.1 416 Range Not Satisfiable
日期: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状态代码由4.4的RFC7233部分指定。
如何用PHP抛出一个416状态代码?
要在一个网页上抛出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
网络服务器 "Apache "是互联网上最常见的网络服务器之一。要在 "Apache "中创建自己的416 Range Not Satisfiable错误页面,必须在以下文件中做如下修改。
NGINX Webserver
与网络服务器 "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