413 Content Too Large

O corpo da requisição é maior do que o servidor aceita.

Quando usar

Uploads acima do limite de tamanho.

Causas comuns e soluções

O corpo é maior do que alguma camada permite, e essa camada muitas vezes não é a sua aplicação. O nginx define client_max_body_size como 1m por padrão, então uploads acima de 1 MB falham com 413 até você aumentá-lo no bloco http, server ou location. A Cloudflare limita os corpos de requisição a 100 MB nos planos Free e Pro, o AWS API Gateway a 10 MB, e os payloads síncronos do Lambda a 6 MB.

Depois, verifique a aplicação: o express.json do Express tem limite padrão de 100kb, e o PHP tem upload_max_filesize (2M por padrão) e post_max_size (8M). Lembre-se de recarregar o nginx ou o PHP-FPM depois de alterar os limites. Para arquivos grandes, faça upload direto para um object storage com URLs pré-assinadas, ou divida os uploads em partes, em vez de aumentar todos os limites ao longo do caminho.

Erro do cliente (4xx)

Os códigos 4xx são erros do cliente: a própria requisição está errada, não está autorizada ou aponta para algo que não existe. Repetir a mesma requisição não vai adiantar.

Como fica

HTTP/1.1 413 Content Too Large

Como enviar

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

Como verificar

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

Abrir Códigos de status HTTP