300

Multiple Choices

Offiziell
mehrere verschiedene Ressoucen sind verfügbar

Spezifikation von dem HTTP statuscode 300

Der Statuscode 300 Multiple Choices zeigt an, dass die Zielressource mehr als eine Darstellung hat, jede mit ihrem eigenen spezifischeren Identifikator, und dass Informationen über die Alternativen bereitgestellt werden, so dass der Benutzer (oder Benutzer-Agent) eine bevorzugte Darstellung auswählen kann, indem er seine Anfrage an einen oder mehrere dieser Identifikatoren weiterleitet. Mit anderen Worten, der Server wünscht, dass der Benutzer-Agent in eine reaktive Verhandlung eintritt, um die für seine Bedürfnisse am besten geeignete(n) Darstellung(en) auszuwählen (Abschnitt 12).

Wenn der Server eine bevorzugte Wahl hat, SOLLTE der Server ein Location-Header-Feld erzeugen, das den URI-Verweis einer bevorzugten Wahl enthält. Der User-Agent KANN den Wert des Location-Feldes für die automatische Umleitung verwenden.

Für andere Anfragemethoden als HEAD SOLLTE der Server in der 300 Multiple Choices-Antwort Inhalte erzeugen, die eine Liste von Darstellungsmetadaten und URI-Referenz(en) enthalten, aus denen der Benutzer oder der Benutzer-Agent die bevorzugte auswählen kann. Der Benutzer-Agent KANN eine Auswahl aus dieser Liste automatisch treffen, wenn er den angegebenen Medientyp versteht. Ein spezifisches Format für die automatische Auswahl ist in dieser Spezifikation nicht definiert, da HTTP versucht, orthogonal zur Definition seines Inhalts zu bleiben. In der Praxis wird die Darstellung in einem leicht zu parsenden Format bereitgestellt, von dem angenommen wird, dass es für den User-Agent akzeptabel ist, wie es durch gemeinsames Design oder Inhaltsverhandlungen festgelegt wurde, oder in einem allgemein akzeptierten Hypertext-Format.

Eine 300 Multiple Choiceser-Antwort ist heuristisch cachefähig, d. h., sofern die Methodendefinition oder explizite Cache-Kontrollen nichts anderes vorsehen (siehe Abschnitt 4.2.2 von [CACHING]).

Anmerkung: Der ursprüngliche Vorschlag für den 300 Multiple Choices-Statuscode definierte das URI-Header-Feld als eine Liste von alternativen Darstellungen, so dass es für 200-, 300 Multiple Choices- und 406-Antworten verwendbar wäre und in Antworten auf die HEAD-Methode übertragen werden könnte. Mangelnder Einsatz und Meinungsverschiedenheiten über die Syntax führten jedoch dazu, dass sowohl URI als auch Alternates (ein späterer Vorschlag) aus dieser Spezifikation gestrichen wurden. Es ist möglich, die Liste als Wert eines Link-Header-Feldes [RFC8288] zu übermitteln, dessen Mitglieder die Beziehung "alternate" haben, allerdings ist der Einsatz ein Henne-Ei-Problem.

Quelle / Zitat von: Spezifiziert wird der 300 Multiple Choices HTTP Status Code durch Abschnitt 15.4.1 von RFC9110

HTTP-Protokoll

in Arbeit befindliche Maßnahmen

Wie kann man mit PHP einen 300-Statuscode werfen?

Um auf einer Webseite den HTTP Status Code 300 zu werfen, kann die PHP Funktion http_response_code benutzt werden. Die Syntax sieht wie folgt aus: http_response_code(300) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Teste den 300 HTTP Status Code

Um die HTTP Status Code (in diesem Fall 300 Multiple Choices) und weitere Informationen clientseitig anzeigen zu können, muss die Entwicklungskonsole mit F12 geöffnet werden. Im Anschluss muss zu der Karteikarte "Netzwerk" navigiert werden. Jetzt kann die Seite geöffnet werden, im Netzwerktab sollte die Webseite (Beispiel index.php) zu sehen sein. Diese muss ausgewählt werden und im Anschluss der Bereich Herder gewählt werden. Hier sieht der Nutzer dann folgendes Ergebnis:

Statuscode 300 Multiple Choices
Überblick
URL: https://http-statuscode.com/errorCodeExample.php?code=300
Status: 300 Multiple Choices
Diese: Network
IP-Adresse: XX.XX.XX.XX
Statuscode 300 Multiple Choices

Browser-Kompatibilität des 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

Konstanten in Programmiersprachen

HttpStatusCode.MultipleChoices
http.StatusMultipleChoices
Response::HTTP_MULTIPLE_CHOICES
:multiple_choices
Autor: Tony Brüser
Autor: Tony Brüser

Tony Brüser ist ein begeisterter Webentwickler mit einer Vorliebe für HTTP Statuscodes.

LinkedInGitHub