Specyfikacja kodu statusu HTTP 300
Kod statusu 300 Multiple Choices wskazuje, że zasób docelowy ma więcej niż jedną reprezentację, każdą z własnym bardziej specyficznym identyfikatorem, a informacja o alternatywach jest dostarczana, aby użytkownik (lub agent użytkownika) mógł wybrać preferowaną reprezentację poprzez przekierowanie swojego żądania do jednego lub więcej tych identyfikatorów. Innymi słowy, serwer pragnie, aby agent użytkownika zaangażował się w reaktywne negocjacje w celu wybrania najbardziej odpowiedniej reprezentacji (reprezentacji) dla swoich potrzeb (sekcja 12).
Jeśli serwer ma preferowany wybór, serwer POWINIEN wygenerować pole nagłówka Location zawierające referencję URI preferowanego wyboru. Agent użytkownika MOŻE użyć wartości pola Location do automatycznego przekierowania.
Dla metod żądania innych niż HEAD, serwer POWINIEN wygenerować zawartość w odpowiedzi 300 Multiple Choices zawierającą listę metadanych reprezentacji i referencji URI, z których użytkownik lub agent użytkownika może wybrać najbardziej preferowany. Agent użytkownika MOŻE dokonać wyboru z tej listy automatycznie, jeśli rozumie podany typ mediów. Określony format automatycznego wyboru nie jest zdefiniowany przez tę specyfikację, ponieważ HTTP stara się pozostać ortogonalny w stosunku do definicji swojej zawartości. W praktyce, reprezentacja jest dostarczana w jakimś łatwo parsowanym formacie uważanym za akceptowalny dla agenta użytkownika, jak określono przez wspólny projekt lub negocjację treści, lub w jakimś powszechnie akceptowanym formacie hipertekstowym.
Odpowiedź 300 Multiple Choices jest heurystycznie buforowana; tj. o ile definicja metody lub jawne kontrole buforowania nie wskazują inaczej (patrz sekcja 4.2.2 [CACHING]).
Uwaga: Oryginalna propozycja dla kodu statusu 300 Multiple Choices zdefiniowała pole nagłówka URI jako zapewniające listę alternatywnych reprezentacji, w taki sposób, że byłoby ono użyteczne dla odpowiedzi 200, 300 Multiple Choices i 406 i byłoby przekazywane w odpowiedziach na metodę HEAD. Jednak brak wdrożenia i niezgoda na składnię doprowadziły do tego, że zarówno URI, jak i Alternates (późniejsza propozycja) zostały usunięte z tej specyfikacji. Możliwe jest przekazanie listy jako wartości pola nagłówka Link [RFC8288], którego członkowie mają relację "alternate", choć wdrożenie jest problemem typu "kurczak i jajko".
Źródło / Cytat z: Kod statusu 300 Multiple Choices HTTP jest określony przez sekcję 15.4.1 z RFC9110.
Protokół HTTP
Jak wyrzucić kod statusu 300 za pomocą PHP?
Aby wyrzucić na stronę internetową kod statusu HTTP 300, można użyć funkcji PHP http_response_code. Składnia jest następująca: http_response_code(300) (PHP 5 >= 5.4.0, PHP 7, PHP 8)
Testowanie kodu 300 statusu HTTP
Aby móc wyświetlić kod statusu HTTP (w tym przypadku 300 Multiple Choices) i inne informacje po stronie klienta, należy otworzyć konsolę programistyczną za pomocą F12. Następnie należy przejść do zakładki "Network". Teraz można otworzyć stronę, w zakładce "Network" powinna być widoczna strona (przykładowy index.php). Należy ją zaznaczyć, a następnie wybrać sekcję Herder. Użytkownik zobaczy wtedy następujący wynik:
URL: https://http-statuscode.com/errorCodeExample.php?code=300
Status: 300 Multiple Choices
Te: Network
Adres IP: XX.XX.XX.XX
Zgodność kodu statusu 300 z przeglądarką
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 |
Stałe w językach programowania
HttpStatusCode.MultipleChoices
http.StatusMultipleChoices
Response::HTTP_MULTIPLE_CHOICES
:multiple_choices