300
Multiple Choices
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
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:
URL: https://http-statuscode.com/errorCodeExample.php?code=300
Status: 300 Multiple Choices
Diese: Network
IP-Adresse: XX.XX.XX.XX
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