🎯 Error 416 – Rango solicitado no satisfacible (Range Not Satisfiable)
El error 416 aparece cuando el cliente solicita una parte específica (un rango) de un archivo o recurso usando la cabecera Range, pero ese rango no puede ser cumplido por el servidor.
Es decir: el cliente pidió bytes fuera del tamaño real del archivo, o el servidor no puede servir ese rango.
Este error es muy común en:
-
Descargas
-
Videos y audios con reproducción parcial
-
APIs de archivos
-
Peticiones que requieren rangos (Resume download)
✅ Causas más comunes
-
📏 El rango solicitado excede el tamaño real del archivo.
Ejemplo: pedir bytes del 5000–6000 en un archivo de solo 4000 bytes. -
🎞️ Clientes multimedia piden rangos incorrectos al hacer “seek” en videos o audios.
-
📂 El archivo está vacío o tiene tamaño 0 (no se puede servir nada).
-
🔧 El servidor no tiene habilitado el soporte para rangos (
Accept-Ranges). -
🧩 Descargas interrumpidas que intentan reanudarse con un rango inválido.
-
🚫 Manipulación errónea de la cabecera
Rangepor parte del navegador o una app. -
⚙️ El archivo fue modificado después de iniciar la descarga, causando inconsistencias.
🔧 Soluciones recomendadas
1️⃣ Verificar el tamaño real del archivo
Si el cliente solicita:
pero el archivo mide 6900 bytes → 416.
Solución:
Calcular y pedir un rango válido.
2️⃣ Habilitar soporte de rangos en el servidor
Apache:
Asegúrate de que no esté deshabilitado:
Nginx:
Debe tener:
y permitir rangos correctamente.
3️⃣ Evitar reanudar descargas corruptas
Si un cliente intenta continuar una descarga:
pero el archivo cambió o tiene otro tamaño → 416.
Solución: volver a descargar desde cero.
4️⃣ Revisar servidores de streaming
Errores comunes en:
-
Videos MP4
-
Audio MP3
-
Streaming HLS / DASH
Asegúrate de que el archivo no esté dañado ni incompleto.
5️⃣ Corregir peticiones en aplicaciones o APIs
Ejemplos de rangos mal formados:
Debes validar la entrada antes de enviarla.
6️⃣ Verificar que el archivo no esté vacío
Si size = 0, cualquier rango es inválido → 416.
Solución:
Revisar por qué el archivo está vacío o incompleto.
7️⃣ Enviar respuesta correcta de error
El servidor debe incluir:
Ejemplo:
Esto indica cuál es el rango válido máximo.
🔐 Consejo Pro
Cuando implementes descargas o streaming:
-
Valida rangos por adelantado
-
Usa chunks (fragmentos) de tamaño fijo
-
Implementa reanudación segura
-
Siempre devuelve cabeceras
Accept-RangesyContent-Rangecorrectas
Esto evita errores 416 y mejora la experiencia de descarga y reproducción.
No comments to display
No comments to display