Salta al contenuto

Errore 416 Range Not Satisfiable

Pubblicato il Aggiornato il

In breve: l’ errore 416 Range Not Satisfiable compare quando il client chiede una porzione di file che non esiste nella rappresentazione corrente. Succede spesso durante la ripresa di un download dopo che dimensione, cache o versione del file sono cambiate.

Che cosa significa l’errore 416

L’header HTTP Range permette al client di chiedere soltanto una parte della risorsa, per esempio Range: bytes=1000-1999. Il server può rispondere 416 quando nessuno degli intervalli richiesti coincide con i byte disponibili oppure quando la richiesta contiene molti intervalli piccoli, sovrapposti o non ragionevoli.

Errore 416 Range Not Satisfiable: confronto tra Range e Content-Range
Il Range richiesto deve rientrare nella lunghezza corrente indicata dal server.

Come leggere Content-Range

In una risposta 416 relativa ai byte, il server dovrebbe indicare la lunghezza corrente con un header simile a:

Content-Range: bytes */1234

Il valore 1234 è la lunghezza della rappresentazione corrente. Una richiesta che inizia da 2000 non è soddisfacibile. Non confondere questo formato con una risposta 206 valida, che indica anche inizio e fine restituiti, per esempio bytes 0-999/1234.

StatoSignificato tipico
200Risorsa completa.
206Intervallo valido restituito parzialmente.
416Intervallo non soddisfacibile o richiesta Range rifiutata.

Cause più frequenti

  • Download parziale creato quando il file aveva una dimensione diversa.
  • Browser, proxy o CDN conserva metadati non coerenti con l’origine.
  • Plugin, applicazione o client genera un header Range errato.
  • La risorsa viene rigenerata tra richiesta iniziale e ripresa.
  • Il server o l’applicazione gestisce in modo incompleto le richieste parziali.

Diagnosi passo per passo

  1. Registra URL, metodo, orario, header Range e risposta completa.
  2. Richiedi la stessa URL senza Range e annota Content-Length, ETag e Last-Modified.
  3. Confronta la lunghezza corrente con inizio e fine dell’intervallo rifiutato.
  4. Elimina il download parziale o lo stato di ripresa e avvia un trasferimento completo.
  5. Ripeti la prova sull’origine e tramite CDN usando la stessa versione della risorsa.
  6. Controlla access log e log applicativi nello stesso minuto della richiesta.

Esempi di controllo, sostituendo l’URL:

curl -I https://example.com/file.zip
curl -v -H 'Range: bytes=0-1023' https://example.com/file.zip -o /dev/null

Per una prova ripetibile salva separatamente header della richiesta e della risposta. Se l’URL è protetto o firmato, verifica che entrambe le richieste usino la stessa autorizzazione e non condividere il token. Quando la risorsa può cambiare, assegna una versione al nome del file o usa validatori coerenti prima della ripresa.

Errore 416 Range Not Satisfiable: sequenza di diagnosi
Confronta richiesta completa, Range, metadati e log prima di modificare server o CDN.

Verifica della correzione

La richiesta completa deve restituire la risorsa prevista; un intervallo valido può restituire 206 con Content-Range coerente. Ripeti la prova dallo stesso client e verifica che cache e origine espongano la stessa lunghezza, lo stesso ETag e una data di modifica compatibile.

Prova anche un intervallo vicino alla fine del file. Il primo byte richiesto deve essere inferiore alla lunghezza corrente; la risposta non deve includere byte oltre il limite dichiarato.

Errori da evitare

  • Svuotare tutte le cache senza conservare header e risposta che dimostrano la differenza.
  • Modificare contemporaneamente client, CDN e origine, rendendo impossibile individuare la causa.
  • Forzare sempre lo stato 200 ignorando richieste parziali necessarie a download o streaming.
  • Confrontare file con lo stesso URL ma versioni o dimensioni differenti.

Se l’errore persiste

Conserva URL, data e ora, header Range, stato HTTP, Content-Range, Content-Length, ETag, Last-Modified ed estratti dei log nello stesso intervallo. Rimuovi cookie, token e parametri riservati prima di condividere la richiesta.

Guide Xlogic correlate

Domande frequenti

Che cosa indica 416 Range Not Satisfiable?

Indica che nessuno degli intervalli richiesti può essere soddisfatto rispetto alla rappresentazione corrente, oppure che il server ha rifiutato un insieme eccessivo o anomalo di intervalli.

Perché cancellare un download parziale può risolvere?

Il file remoto può essere cambiato mentre il client conserva un offset calcolato sulla versione precedente. Un nuovo download elimina lo stato di ripresa obsoleto.

Una richiesta Range valida deve restituire sempre 206?

Se il server supporta la richiesta parziale e l’intervallo è soddisfacibile, normalmente risponde 206. Può comunque ignorare Range e restituire l’intera rappresentazione secondo le regole HTTP applicabili.

Qual è il controllo decisivo?

Confrontare il Range inviato con la lunghezza corrente della risorsa e ripetere la prova sulla stessa versione, verificando anche cache, CDN, ETag e Last-Modified.

Fonti tecniche

Errore 416 Range Not Satisfiable ultima modifica: 2026-08-03T01:01:36+02:00 da Team tecnico Xlogic

Ti è piaciuto questo Post?