Preguntas

Error 413 – Carga útil demasiado grande (Payload Too Large) Imprimir

  • 0

El error 413 indica que el servidor rechaza la solicitud porque el tamaño del contenido enviado (archivo, formulario, JSON, etc.) es demasiado grande y supera los límites establecidos en el servidor o la aplicación.

Este error es común en cargas de archivos, peticiones API grandes y formularios pesados.


 Causas más comunes

  •  El archivo que se intenta subir excede el límite permitido.

  •  El servidor tiene configurado un tamaño máximo muy bajo para uploads o requests.

  •  php.ini con valores pequeños en upload_max_filesize o post_max_size.

  •  Nginx o Apache limitan el tamaño de la solicitud.

  •  Firewall o WAF bloquea cargas grandes por seguridad.

  •  APIs que no aceptan cuerpos (body) mayores a cierto tamaño.

  •  Clientes que envían datos comprimidos incorrectamente o demasiado pesados.


 Soluciones recomendadas

1) Incrementar los límites en PHP (si aplica)

Editar php.ini o .htaccess:

 
upload_max_filesize = 100M post_max_size = 120M max_execution_time = 300 max_input_time = 300

En .htaccess:

 
php_value upload_max_filesize 100M php_value post_max_size 120M

2) Aumentar el límite en Nginx

Agrega en la configuración:

 
client_max_body_size 100M;

Reiniciar Nginx después.


3) Ajustar el límite en Apache

En apache2.conf o .htaccess:

 
LimitRequestBody 0

(0 significa ilimitado, pero puedes poner un límite específico en bytes).


4) Verificar límites en el framework

En Laravel:

 
$request->validate([ 'archivo' => 'max:102400', // en KB ]);

En Node.js (Express):

 
app.use(express.json({ limit: '50mb' }));

En Django:

 
DATA_UPLOAD_MAX_MEMORY_SIZE = 52428800 # 50MB

5) Dividir el archivo en partes (chunk upload)

Muy útil para:

  • Videos

  • Archivos grandes

  • Aplicaciones móviles

  • Paneles administrativos

Ejemplo: S3, Firebase y Dropzone.js soportan carga por bloques.


6) Revisar el firewall o WAF

ModSecurity o firewalls avanzados pueden bloquear cargas grandes.

Solución:
Crear excepciones para endpoints de subida de archivos.


Optimizar tamaño del cuerpo de la solicitud

Si estás enviando un JSON enorme:

  • Compactar datos

  • Enviar solo lo necesario

  • Usar paginación o lotes (batch requests)


 Consejo Pro

Siempre define límites razonables para evitar abusos:

  • Límite de subida por usuario

  • Tipos de archivo permitidos

  • Tamaño máximo por tipo de contenido

  • Validación tanto en cliente como en servidor

Esto protege tu aplicación de ataques como DoS por carga masiva.


¿Fue útil la respuesta?
Volver