300

Multiple Choices

Officieel
Er zijn verschillende middelen beschikbaar

Specificatie van de HTTP-statuscode 300

De statuscode 300 Multiple Choices geeft aan dat de doelbron meer dan één weergave heeft, elk met zijn eigen specifiekere identificator, en dat informatie over de alternatieven wordt verstrekt zodat de gebruiker (of user agent) een voorkeursweergave kan selecteren door zijn verzoek om te leiden naar een of meer van die identificatoren. Met andere woorden, de server wenst dat de gebruikersagent reactieve onderhandelingen voert om de meest geschikte weergave(s) voor zijn behoeften te selecteren (paragraaf 12).

Als de server een voorkeurskeuze heeft, ZOU de server een Location-headerveld moeten genereren dat de URI-referentie van de voorkeurskeuze bevat. De gebruikersagent KAN de waarde van het veld Location gebruiken voor automatische omleiding.

Voor andere verzoekmethoden dan HEAD ZOU de server in het antwoord 300 Multiple Choices inhoud moeten genereren met een lijst van representatiemetadata en URI-referentie(s) waaruit de gebruiker of user agent de meest geprefereerde kan kiezen. De gebruikersagent KAN automatisch een keuze maken uit die lijst indien hij het verstrekte mediatype begrijpt. Een specifiek formaat voor automatische selectie wordt in deze specificatie niet gedefinieerd omdat HTTP tracht orthogonaal te blijven ten opzichte van de definitie van zijn inhoud. In de praktijk wordt de weergave verstrekt in een gemakkelijk te parseren formaat dat aanvaardbaar wordt geacht voor de gebruikersagent, zoals bepaald door gedeeld ontwerp of inhoudsonderhandelingen, of in een algemeen aanvaard hypertextformaat.

Een 300 Multiple Choices-antwoord kan heuristisch in de cache worden opgeslagen, d.w.z. tenzij anders aangegeven in de methodedefinitie of expliciete cachecontroles (zie paragraaf 4.2.2 van [CACHING]).

Noot: Het oorspronkelijke voorstel voor de 300 Multiple Choices-statuscode definieerde het URI-headerveld als een lijst met alternatieve weergaven, zodat het bruikbaar zou zijn voor 200-, 300 Multiple Choices- en 406-antwoorden en zou worden overgedragen in antwoorden op de HEAD-methode. Een gebrek aan inzet en onenigheid over de syntaxis hebben er echter toe geleid dat zowel URI als Alternatieven (een later voorstel) uit deze specificatie zijn geschrapt. Het is mogelijk om de lijst mee te delen als een Link header veldwaarde [RFC8288] waarvan de leden een relatie hebben van "alternate", hoewel de implementatie een kip-en-ei probleem is.

Bron / Citaat van: De 300 Multiple Choices HTTP-statuscode wordt gespecificeerd door sectie 15.4.1 van RFC9110.

HTTP-protocol

werk in uitvoering

Hoe gooi je een 300-statuscode met PHP?

Om de HTTP-statuscode 300 op een webpagina te gooien, kan de PHP-functie http_response_code worden gebruikt. De syntaxis is als volgt: http_response_code(300) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Test de HTTP-statuscode 300

Om de HTTP-statuscode (in dit geval 300 Multiple Choices) en andere informatie aan de clientzijde te kunnen weergeven, moet de ontwikkelconsole worden geopend met F12. Navigeer vervolgens naar het tabblad "Netwerk". Nu kan de pagina worden geopend, de website (voorbeeld index.php) moet zichtbaar zijn in het netwerk tabblad. Deze moet worden geselecteerd en vervolgens moet het onderdeel Herder worden geselecteerd. De gebruiker ziet dan het volgende resultaat:

Statuscode 300 Multiple Choices
Overzicht
URL: https://http-statuscode.com/errorCodeExample.php?code=300
Status: 300 Multiple Choices
Die: Network
IP-adres: XX.XX.XX.XX
Statuscode 300 Multiple Choices

Browsercompatibiliteit van de 300-statuscode

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

Constanten in programmeertalen

HttpStatusCode.MultipleChoices
http.StatusMultipleChoices
Response::HTTP_MULTIPLE_CHOICES
:multiple_choices

Vermakelijke memes over de HTTP-statuscode 300

Auteur: Tony Brüser
Auteur: Tony Brüser

Tony Brüser is een enthousiaste webontwikkelaar met een voorliefde voor HTTP-statuscodes.

LinkedInGitHub