Specifica del codice di stato HTTP 300
Il codice di stato 300 Multiple Choices indica che la risorsa di destinazione ha più di una rappresentazione, ciascuna con un proprio identificatore più specifico, e che vengono fornite informazioni sulle alternative in modo che l'utente (o l'interprete) possa selezionare una rappresentazione preferita reindirizzando la richiesta a uno o più di questi identificatori. In altre parole, il server desidera che l'interprete si impegni in una negoziazione reattiva per selezionare la o le rappresentazioni più appropriate per le sue esigenze (Sezione 12).
Se il server ha una scelta preferita, il server DEVE generare un campo di intestazione Location contenente il riferimento URI della scelta preferita. L'interprete PUÒ utilizzare il valore del campo Location per il reindirizzamento automatico.
Per i metodi di richiesta diversi da HEAD, il server DOVREBBE generare un contenuto nella risposta 300 Multiple Choices contenente un elenco di metadati di rappresentazione e di riferimenti URI tra cui l'utente o l'interprete può scegliere quello preferito. L'interprete PUÒ effettuare automaticamente una selezione da tale elenco se comprende il tipo di supporto fornito. La presente specifica non definisce un formato specifico per la selezione automatica, poiché HTTP cerca di rimanere ortogonale alla definizione del suo contenuto. In pratica, la rappresentazione viene fornita in un formato facilmente analizzabile e ritenuto accettabile dall'interprete, come determinato dalla progettazione condivisa o dalla negoziazione dei contenuti, oppure in un formato ipertestuale comunemente accettato.
Una risposta 300 Multiple Choices è euristicamente memorizzabile nella cache, cioè, a meno che non sia indicato diversamente dalla definizione del metodo o da controlli espliciti della cache (vedere la sezione 4.2.2 di [CACHING]).
Nota: La proposta originale per il codice di stato 300 Multiple Choices definiva il campo di intestazione URI come un elenco di rappresentazioni alternative, in modo che fosse utilizzabile per le risposte 200, 300 Multiple Choices e 406 e fosse trasferito nelle risposte al metodo HEAD. Tuttavia, la mancanza di diffusione e il disaccordo sulla sintassi hanno fatto sì che sia URI che Alternates (una proposta successiva) siano stati eliminati da questa specifica. È possibile comunicare l'elenco come valore di un campo di intestazione Link [RFC8288] i cui membri hanno una relazione di "alternate", anche se la distribuzione è un problema di "chicken-and-egg".
Fonte / Citazione da: Il codice di stato HTTP 300 Multiple Choices è specificato dalla sezione 15.4.1 di RFC9110.
Protocollo HTTP
Come lanciare un codice di stato 300 con PHP?
Per lanciare il codice di stato HTTP 300 su una pagina web, si può usare la funzione PHP http_response_code. La sintassi è la seguente: http_response_code(300) (PHP 5 >= 5.4.0, PHP 7, PHP 8)
Test del codice di stato HTTP 300
Per poter visualizzare il codice di stato HTTP (in questo caso 300 Multiple Choices) 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:
URL: https://http-statuscode.com/errorCodeExample.php?code=300
Stato: 300 Multiple Choices
Quelle: Network
Indirizzo IP: XX.XX.XX.XX
Compatibilità con i browser del codice di stato 300
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.MultipleChoices
http.StatusMultipleChoices
Response::HTTP_MULTIPLE_CHOICES
:multiple_choices