4×× Client Error

416 Requested Range Not Satisfiable

Ninguno de los rangos en el campo de encabezado Range de la solicitud1 se superpone con la extensión actual del recurso seleccionado o que el conjunto de rangos solicitados ha sido rechazado debido a rangos inválidos o una solicitud excesiva de rangos pequeños o superpuestos.

Para rangos de bytes, fallar en superponerse con la extensión actual significa que el first-byte-pos de todos los valores byte-range-spec eran mayores que la longitud actual de la representación seleccionada. Cuando este código de estado se genera en respuesta a una solicitud de rango de bytes, el remitente DEBERÍA generar un campo de encabezado Content-Range especificando la longitud actual de la representación seleccionada2.

Por ejemplo:

HTTP/1.1 416 Range Not Satisfiable
Date: Fri, 20 Jan 2012 15:41:54 GMT
Content-Range: bytes */47022

Nota: Debido a que los servidores son libres de ignorar Range, muchas implementaciones simplemente responderán con toda la representación seleccionada en una respuesta 200 OK. Eso es en parte porque la mayoría de los clientes están preparados para recibir un 200 OK para completar la tarea (aunque menos eficientemente) y en parte porque los clientes podrían no dejar de hacer una solicitud parcial inválida hasta que hayan recibido una representación completa. Así, los clientes no pueden depender de recibir una respuesta 416 Range Not Satisfiable incluso cuando es más apropiada.



416 Code References

  • .NET HTTP Status Enum HttpStatusCode.RequestedRangeNotSatisfiable
  • Rust HTTP Status Constant http::StatusCode::RANGE_NOT_SATISFIABLE
  • Rails HTTP Status Symbol :requested_range_not_satisfiable
  • Go HTTP Status Constant http.StatusRequestedRangeNotSatisfiable
  • 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
HTTP Status Codes