Ninguno de los rangos del campo de cabecera Range de la solicitud se solapa con la extensión actual del recurso seleccionado o que el conjunto de rangos solicitados ha sido rechazado debido a rangos no válidos o a una solicitud excesiva de rangos pequeños o superpuestos.
En el caso de los rangos de bytes, el hecho de que no se superpongan a la extensión actual significa que los valores del first-byte-pos de todos los byte-range-spec son mayores que la longitud actual de la representación seleccionada. Cuando se genera este código de estado en respuesta a una solicitud de rango de bytes (byte-range), el remitente DEBERÍA generar un campo de cabecera Content-Range que especifique la longitud actual de la representación seleccionada.
Por ejemplo:
HTTP/1.1 416 Range Not Satisfiable
Date: Fri, 13 Jun 2014 16:31:28 GMT
Content-Range: bytes */47022
Nota: Debido a que los servidores son libres de ignorar Range, muchas implementaciones simplemente responderán con la representación completa seleccionada en una respuesta 200 OK. Esto se debe, en parte, a que la mayoría de los clientes están preparados para recibir un Código 200 OK para completar la tarea (aunque de forma menos eficiente) y, en parte, a que los clientes podrían no dejar de hacer una solicitud parcial no válida hasta que hayan recibido una representación completa. Por lo tanto, los clientes no pueden depender de recibir una respuesta 416 Range Not Satisfiable incluso cuando es lo más apropiado.
Referencias de programación del Código de Error 416
- Symfony HTTP Status Constant
Response::HTTP_REQUESTED_RANGE_NOT_SATISFIABLE
- Python2 HTTP Status Constant
httplib.REQUESTED_RANGE_NOT_SATISFIABLE
- Python3+ HTTP Status Constant
http.client.REQUESTED_RANGE_NOT_SATISFIABLE
- Python3.5+ HTTP Status Constant
http.HTTPStatus.REQUESTED_RANGE_NOT_SATISFIABLE
- Go HTTP Status Constant
http.StatusRequestedRangeNotSatisfiable
- Rails HTTP Status Symbol
:requested_range_not_satisfiable
- .NET HTTP Status Constant
System.Net.HttpStatusCode.RequestedRangeNotSatisfiable
- C# HTTP Status Enum
HttpStatusCode.RequestedRangeNotSatisfiable
- Rust HTTP Status Constant
http::StatusCode::RANGE_NOT_SATISFIABLE