206

Partial Content

Ufficiale
la parte richiesta della risorsa è stata trasmessa. La richiesta è andata a buon fine.

Specifica del codice di stato HTTP 206

Il codice di stato 206 Partial Content indica che il server sta soddisfacendo con successo una richiesta di intervallo per la risorsa di destinazione, trasferendo una o più parti della rappresentazione selezionata che corrispondono agli intervalli soddisfacibili trovati nel campo di intestazione Range della richiesta (Sezione 3.1).

Se viene trasferita una singola parte, il server che genera la risposta 206 Partial Content DEVE generare un campo di intestazione Content-Range, che descrive quale intervallo della rappresentazione selezionata è racchiuso, e un payload che consiste nell'intervallo. Ad esempio:

HTTP/1.1 206 Partial Content Contenuto parziale
Data: Wed, 15 Nov 1995 06:25:24 GMT
Ultima modifica: Wed, 15 Nov 1995 04:58:08 GMT
Content-Range: bytes 21010-47021/47022
Content-Length: 26012
Content-Type: image/gif

... 26012 byte di dati immagine parziali...

Se vengono trasferite più parti, il server che genera la risposta 206 Partial Content DEVE generare un payload "multipart/byteranges", come definito nell'Appendice A, e un campo di intestazione Content-Type contenente il tipo di supporto multipart/byteranges e il suo parametro limite richiesto. Per evitare confusione con le risposte a parti singole, un server NON DEVE generare un campo di intestazione Content-Range nella sezione dell'intestazione HTTP di una risposta a parti multiple (questo campo sarà invece inviato in ciascuna parte).

Nell'area dell'intestazione di ciascuna parte del corpo del payload multipart, il server DEVE generare un campo di intestazione Content-Range corrispondente all'intervallo racchiuso in quella parte del corpo. Se la rappresentazione selezionata avrebbe avuto un campo di intestazione Content-Type in una risposta 200 (OK), il server DEVE generare lo stesso campo Content-Type nell'area dell'intestazione di ciascuna parte del corpo.

Ad esempio:

HTTP/1.1 206 Partial Content Contenuto parziale
Data: Wed, 15 Nov 1995 06:25:24 GMT
Ultima modifica: Wed, 15 Nov 1995 04:58:08 GMT
Content-Length: 1741
Content-Type: multipart/byteranges; boundary=THIS_STRING_SEPARATES


--THIS_STRING_SEPARATES
Content-Type: application/pdf
Content-Range: bytes 500-999/8000


... il primo intervallo...
--THIS_STRING_SEPARATES
Content-Type: application/pdf
Content-Range: byte 7000-7999/8000


...il secondo intervallo
--THIS_STRING_SEPARATES--

Quando vengono richiesti più intervalli, un server PUÒ riunire gli intervalli che si sovrappongono o che sono separati da uno scarto inferiore all'overhead dell'invio di più parti, indipendentemente dall'ordine in cui i corrispondenti byte-range-spec sono apparsi nel campo di intestazione Range ricevuto. Poiché l'overhead tipico tra le parti di un payload multipart/byteranges è di circa 80 byte, a seconda del tipo di supporto della rappresentazione selezionata e della lunghezza del parametro di confine scelto, può essere meno efficiente trasferire molte piccole parti disgiunte che trasferire l'intera rappresentazione selezionata.

Un server NON DEVE generare una risposta multipart per una richiesta di un singolo intervallo, poiché un client che non richiede parti multiple potrebbe non supportare risposte multipart. Tuttavia, un server PUÒ generare un payload multipart/byteranges con una sola parte del corpo se sono stati richiesti più intervalli e solo un intervallo è risultato soddisfacente o solo un intervallo è rimasto dopo la coalescenza. Un client che non può elaborare una risposta multipart/byteranges NON DEVE generare una richiesta che richieda più intervalli.

Quando viene generato un payload di risposta multipart, il server DOVREBBE inviare le parti nello stesso ordine in cui il corrispondente byte-range-spec è apparso nel campo di intestazione Range ricevuto, escludendo gli intervalli che sono stati ritenuti non soddisfacibili o che sono stati coalizzati in altri intervalli. Un client che riceve una risposta multiparte DEVE ispezionare il campo di intestazione Content-Range presente in ogni

Fonte / Citazione da: Il codice di stato HTTP 206 Partial Content è specificato dalla sezione 4.1 di RFC7233.

Come lanciare un codice di stato 206 con PHP?

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

Test del codice di stato HTTP 206

Per poter visualizzare il codice di stato HTTP (in questo caso 206 Partial Content) 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 206 Partial Content
Panoramica
URL: https://http-statuscode.com/errorCodeExample.php?code=206
Stato: 206 Partial Content
Quelle: Network
Indirizzo IP: XX.XX.XX.XX
Codice di stato 206 Partial Content

Compatibilità con i browser del codice di stato 206

Chrome Yes
Edge Yes
Firefox Yes
Opera Yes
Safari Yes
Chrome Android Yes
Firefox for Android Yes
Opera Android Yes
Safari on iOS Yes
Internet Yes
WebView Android Yes

Costanti nei linguaggi di programmazione

http.StatusPartialContent
Response::HTTP_PARTIAL_CONTENT
:partial_content

Articoli del blog

SEO e codici di stato HTTP: Un'analisi completa

Ottimizzare un sito web per i motori di ricerca (SEO) è un'impresa complessa. Uno degli aspetti spesso trascurati ma cruciali per un buon posizionamento sono i codici di stato HTTP. Questi piccoli ...

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