Спецификация на HTTP код на състоянието 300
Код на състоянието 300 Multiple Choices показва, че целевият ресурс има повече от едно представяне, всяко от които има свой собствен по-специфичен идентификатор, и се предоставя информация за алтернативите, така че потребителят (или потребителският агент) да може да избере предпочитаното представяне, като пренасочи заявката си към един или повече от тези идентификатори. С други думи, сървърът желае потребителският агент да се включи в реактивно договаряне, за да избере най-подходящото(ите) представяне(я) за своите нужди (раздел 12).
Ако сървърът има предпочитан избор, той ТРЯБВА да генерира заглавно поле Location (Местоположение), съдържащо URI референция на предпочитания избор. Потребителският агент МОЖЕ да използва стойността на полето Location (Местоположение) за автоматично пренасочване.
За методи на заявка, различни от HEAD, сървърът ТРЯБВА да генерира съдържание в отговора 300 Multiple Choices, съдържащо списък с метаданни за представяне и URI референция(и), от които потребителят или потребителският агент може да избере най-предпочитания. Потребителският агент МОЖЕ да направи избор от този списък автоматично, ако разбира предоставения медиен тип. Специфичен формат за автоматичен избор не е дефиниран от тази спецификация, тъй като HTTP се опитва да остане ортогонален на дефиницията на своето съдържание. На практика представянето се предоставя в някакъв лесно анализируем формат, за който се смята, че е приемлив за потребителския агент, както е определено от споделеното проектиране или договарянето на съдържанието, или в някакъв общоприет хипертекстов формат.
Отговор 300 Multiple Choices е евристично кешируем, т.е. освен ако не е посочено друго в дефиницията на метода или в изричните контроли на кеширането (вж. раздел 4.2.2 на [CACHING]).
Забележка: Първоначалното предложение за кода на състоянието 300 Multiple Choices определя полето на заглавието URI като предоставящо списък с алтернативни представяния, така че да може да се използва за отговори 200, 300 Multiple Choices и 406 и да се прехвърля в отговорите на метода HEAD. Липсата на разгръщане и несъгласието по отношение на синтаксиса обаче доведоха до това, че както URI, така и алтернативите (последващо предложение) отпаднаха от тази спецификация. Възможно е списъкът да се предаде като стойност на полето на заглавието Link [RFC8288], чиито членове имат връзка "алтернативен", въпреки че разгръщането е проблем на кокошката и яйцето.
Източник / Цитат от: Кодът на състоянието 300 Multiple Choices на HTTP е определен в раздел 15.4.1 на RFC9110.
Протокол HTTP
Как да изхвърлим код на състоянието 300 с PHP?
За изхвърляне на HTTP статус код 300 на уеб страница може да се използва функцията http_response_code на PHP. Синтаксисът е следният: http_response_code(300) (PHP 5 >= 5.4.0, PHP 7, PHP 8)
Тестване на код 300 на състоянието HTTP
За да можете да показвате кода на състоянието на HTTP (в този случай 300 Multiple Choices) и друга информация от страна на клиента, конзолата за разработка трябва да се отвори с F12. След това преминете към раздела "Мрежа". Сега страницата може да бъде отворена, като уебсайтът (пример index.php) трябва да се вижда в раздела "Мрежа". Той трябва да бъде избран и след това трябва да се избере разделът Herder. След това потребителят ще види следния резултат:
URL: https://http-statuscode.com/errorCodeExample.php?code=300
Статус: 300 Multiple Choices
Тези: Network
IP адрес: XX.XX.XX.XX
Съвместимост на кода на състоянието 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 |
Константи в езиците за програмиране
HttpStatusCode.MultipleChoices
http.StatusMultipleChoices
Response::HTTP_MULTIPLE_CHOICES
:multiple_choices