416 Range Not Satisfiable

A faixa de bytes pedida está fora do arquivo.

Quando usar

Uma requisição Range além do fim do recurso.

Causas comuns e soluções

O cabeçalho Range pede bytes que o servidor não tem, geralmente além do fim do arquivo. A causa clássica é retomar um download com curl -C - ou wget -c quando o arquivo local já está completo, ou quando o arquivo remoto mudou de tamanho. O servidor responde com Content-Range: bytes */size, para que o cliente possa saber o tamanho real.

Corrija apagando o arquivo parcial e começando de novo, ou comparando os tamanhos antes. Players de vídeo recebem 416 quando um arquivo é substituído no meio do streaming ou quando uma CDN guardou em cache uma versão mais antiga e menor; limpe o cache. Os clientes devem enviar If-Range com o ETag, para que um arquivo alterado retorne 200 com o conteúdo completo em vez de 416. Os servidores também podem ignorar o Range e responder 200.

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 416 Range Not Satisfiable

Como enviar

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

Como verificar

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

Abrir Códigos de status HTTP