416 Range Not Satisfiable

El rango de bytes solicitado está fuera del archivo.

Cuándo usarlo

Una solicitud Range más allá del final del recurso.

Causas habituales y soluciones

La cabecera Range pide bytes que el servidor no tiene, normalmente más allá del final del archivo. La causa clásica es reanudar una descarga con curl -C - o wget -c cuando el archivo local ya está completo, o cuando el archivo remoto ha cambiado de tamaño. El servidor responde con Content-Range: bytes */size, para que el cliente pueda conocer la longitud real.

Soluciónalo eliminando el archivo parcial y empezando de nuevo, o comparando antes los tamaños. Los reproductores de vídeo reciben 416 cuando se sustituye un archivo en mitad de la reproducción o una CDN guardó en caché una versión anterior más corta; purga la caché. Los clientes deberían enviar If-Range con el ETag, para que un archivo modificado devuelva 200 con el contenido completo en lugar de 416. Los servidores también pueden ignorar Range y responder 200.

Error del cliente (4xx)

Los códigos 4xx son errores del cliente: la solicitud en sí es incorrecta, no está autorizada o apunta a algo que no existe. Repetir la misma solicitud no servirá de nada.

Cómo se ve

HTTP/1.1 416 Range Not Satisfiable

Cómo enviarlo

Node.js / Expressres.status(416).end()
Python / Flaskreturn '', 416
nginxreturn 416;

Cómo comprobarlo

curl -s -o /dev/null -w "%{http_code}\n" https://example.com/

Abrir Códigos de estado HTTP