416

Range Not Satisfiable

Ufficiale
Le aree richieste non possono essere fornite

Specifica del codice di stato HTTP 416

Il codice di stato 416 Range Not Satisfiable indica che nessuno degli intervalli nel campo di intestazione Range della richiesta (Sezione 3.1) si sovrappone all'estensione corrente della risorsa selezionata o che l'insieme degli intervalli richiesti è stato rifiutato a causa di intervalli non validi o di una richiesta eccessiva di intervalli piccoli o sovrapposti.

Per gli intervalli di byte, la mancata sovrapposizione all'estensione corrente significa che il primo-byte-pos di tutti i valori di byte-range-spec era maggiore della lunghezza corrente della rappresentazione selezionata. Quando questo codice di stato viene generato in risposta a una richiesta di intervallo di byte, il mittente DOVREBBE generare un campo di intestazione Content-Range che specifichi la lunghezza attuale della rappresentazione selezionata (Sezione 4.2).

Ad esempio:

HTTP/1.1 416 Range Not Satisfiable
Data: Fri, 20 Jan 2012 15:41:54 GMT
Content-Range: bytes */47022

Nota: Poiché i server sono liberi di ignorare Range, molte implementazioni risponderanno semplicemente con l'intera rappresentazione selezionata in una risposta 200 (OK). Questo in parte perché la maggior parte dei client è pronta a ricevere un 200 (OK) per completare l'operazione (anche se in modo meno efficiente) e in parte perché i client potrebbero non smettere di fare una richiesta parziale non valida finché non hanno ricevuto una rappresentazione completa. Pertanto, i client non possono dipendere dalla ricezione di una risposta 416 Range Not Satisfiable, anche quando questa è più appropriata.

Fonte / Citazione da: Il codice di stato HTTP 416 Range Not Satisfiable è specificato dalla sezione 4.4 di RFC7233.

Come lanciare un codice di stato 416 con PHP?

Per lanciare il codice di stato HTTP 416 su una pagina web, si può usare la funzione PHP http_response_code. La sintassi è la seguente: http_response_code(416) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Test del codice di stato HTTP 416

Per poter visualizzare il codice di stato HTTP (in questo caso 416 Range Not Satisfiable) e altre informazioni sul lato client, è necessario aprire la console di sviluppo con F12. Quindi navigare nella scheda "Rete". Ora la pagina può essere aperta, il sito web (ad esempio index.php) dovrebbe essere visibile nella scheda Rete. Questo deve essere selezionato e poi deve essere selezionata la sezione Herder. L'utente vedrà quindi il seguente risultato:

Codice di stato 416 Range Not Satisfiable
Panoramica
URL: https://http-statuscode.com/errorCodeExample.php?code=416
Stato: 416 Range Not Satisfiable
Quelle: Network
Indirizzo IP: XX.XX.XX.XX
Codice di stato 416 Range Not Satisfiable

Come creare la propria pagina di errore per il codice di stato 416

Creare la propria pagina di errore 416 Range Not Satisfiable è relativamente facile sia con il server web "Apache" che con "NGINX".

Apache Webserver

Il server web "Apache" è uno dei server web più comuni su Internet. Per creare la propria pagina di errore 416 Range Not Satisfiable in "Apache", è necessario apportare la seguente modifica al file seguente.

File: .htaccess
ErrorDocument 416 /errors/416.html

NGINX Webserver

Simile al server web "Apache", anche "NGINX" è ampiamente utilizzato su Internet. Per creare la propria pagina di errore 416 Range Not Satisfiable in "NGINX", è necessario apportare la seguente modifica al file seguente.

File: sites-enabled/default
error_page 416 /416.html;
location = /416.html {
    root /usr/share/nginx/html;
    internal;
}

Compatibilità con i browser del codice di stato 416

Chrome no data
Edge no data
Firefox no data
Opera no data
Safari no data
Chrome Android no data
Firefox for Android no data
Opera Android no data
Safari on iOS no data
Internet no data
WebView Android no data

Costanti nei linguaggi di programmazione

HttpStatusCode.RequestedRangeNotSatisfiable
http.StatusRequestedRangeNotSatisfiable
Response::HTTP_REQUESTED_RANGE_NOT_SATISFIABLE
httplib.REQUESTED_RANGE_NOT_SATISFIABLE
http.client.REQUESTED_RANGE_NOT_SATISFIABLE
http.HTTPStatus.REQUESTED_RANGE_NOT_SATISFIABLE
:requested_range_not_satisfiable
Autore: Tony Brüser
Autore: Tony Brüser

Tony Brüser è un entusiasta sviluppatore web con una predilezione per i codici di stato HTTP.

LinkedInGitHub