300
Multiple Choices
Specifikation af HTTP-statuskode 300
Statuskoden 300 Multiple Choices angiver, at målressourcen har mere end én repræsentation, hver med sin egen mere specifikke identifikator, og at der gives oplysninger om alternativerne, så brugeren (eller brugeragenten) kan vælge en foretrukken repræsentation ved at omdirigere sin anmodning til en eller flere af disse identifikatorer. Med andre ord ønsker serveren, at brugeragenten indleder en reaktiv forhandling for at vælge den eller de repræsentationer, der passer bedst til dens behov (afsnit 12).
Hvis serveren har et foretrukket valg, SKAL serveren generere et Location-headerfelt, der indeholder en URI-reference for et foretrukket valg. Brugeragenten KAN bruge Location-feltets værdi til automatisk omdirigering.
For andre anmodningsmetoder end HEAD SKAL serveren generere indhold i 300 Multiple Choices-svaret, der indeholder en liste over repræsentationsmetadata og URI-reference(r), hvorfra brugeren eller brugeragenten kan vælge det mest foretrukne valg. Brugeragenten KAN foretage et valg fra denne liste automatisk, hvis den forstår den angivne medietype. Et specifikt format til automatisk valg er ikke defineret i denne specifikation, fordi HTTP forsøger at forblive ortogonal i forhold til definitionen af indholdet. I praksis leveres repræsentationen i et format, der er let at analysere, og som formodes at være acceptabelt for brugeragenten, som fastlagt ved fælles design eller indholdsforhandling, eller i et almindeligt accepteret hypertekstformat.
Et 300 Multiple Choices-svar er heuristisk set cache-egnet, dvs. medmindre andet er angivet i metodefinitionen eller eksplicitte cache-kontroller (se afsnit 4.2.2 i [CACHING]).
Note: Det oprindelige forslag til 300 Multiple Choices-statuskode definerede URI-headerfeltet som en liste over alternative repræsentationer, således at det kunne bruges til 200-, 300 Multiple Choices- og 406-svar og overføres i svar til HEAD-metoden. Manglende implementering og uenighed om syntaksen førte imidlertid til, at både URI og Alternates (et efterfølgende forslag) blev fjernet fra denne specifikation. Det er muligt at kommunikere listen som en værdi i Link-headerfeltet [RFC8288], hvis medlemmer har en relation af "alternate", selv om implementeringen er et høne-og-æg-problem.
Kilde / citat fra: HTTP-statuskoden 300 Multiple Choices er specificeret i afsnit 15.4.1 i RFC9110.
HTTP-protokol
Hvordan får man en 300-statuskode med PHP?
Hvis du vil have HTTP-statuskoden 300 på en webside, kan du bruge PHP-funktionen http_response_code. Syntaksen er som følger: http_response_code(300) (PHP 5 >= 5.4.0, PHP 7, PHP 8)
Test 300 HTTP-statuskoden
For at kunne vise HTTP-statuskoden (i dette tilfælde 300 Multiple Choices) og andre oplysninger på klientsiden skal udviklingskonsollen åbnes med F12. Naviger derefter til fanen "Network" (netværk). Nu kan siden åbnes, hjemmesiden (eksempel index.php) skal være synlig i fanen netværk. Denne skal vælges, og derefter skal Herder-sektionen vælges. Brugeren vil derefter se følgende resultat:
URL: https://http-statuscode.com/errorCodeExample.php?code=300
Status: 300 Multiple Choices
Disse: Network
IP-adresse: XX.XX.XX.XX
Browserkompatibilitet for 300-statuskoden
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 |
Konstanter i programmeringssprog
HttpStatusCode.MultipleChoices
http.StatusMultipleChoices
Response::HTTP_MULTIPLE_CHOICES
:multiple_choices