301
Moved Permanently
Generel forklaring af 301-statuskoden
HTTP-statuskoden 301 Moved Permanently angiver, at den ønskede ressource er permanent tilgængelig på en ny URL. Når en klient, f.eks. en browser eller en søgemaskine, modtager dette svar, bliver den automatisk omdirigeret til den nye adresse. Samtidig husker klienten den nye URL, så fremtidige anmodninger kan sendes direkte dertil. Denne statuskode bruges ofte, når hjemmesider omstruktureres eller indhold flyttes for at sikre, at brugere og søgemaskiner bruger de opdaterede stier. For slutbrugeren sker dette normalt ubemærket i baggrunden, da omdirigeringen finder sted automatisk. Fra et teknisk perspektiv er 301 Moved Permanently-omdirigeringen vigtig for at overføre søgemaskinerangeringer og trafik til de nye URL'er uden at miste eksisterende links. Brugt korrekt er det et nyttigt værktøj til at vedligeholde og optimere hjemmesider.
Specifikation af HTTP-statuskode 301
Statuskoden 301 Moved Permanently angiver, at målressourcen har fået tildelt en ny permanent URI, og at alle fremtidige henvisninger til denne ressource bør bruge en af de vedlagte URI'er. Klienter med linkredigeringsfunktioner bør om muligt automatisk omlinke referencer til den effektive anmodnings-URI til en eller flere af de nye referencer, som serveren har sendt.
Serveren BØR generere et Location-headerfelt i svaret, der indeholder en foretrukken URI-reference for den nye permanente URI. Brugeragenten KAN bruge Location-feltets værdi til automatisk omdirigering. Serverens svar-payload indeholder normalt en kort hypertekstnote med et hyperlink til den eller de nye URI'er.
Note: Af historiske årsager KAN en brugeragent ændre anmodningsmetoden fra POST til GET for den efterfølgende anmodning. Hvis denne adfærd ikke er ønsket, kan statuskoden 307 (midlertidig omdirigering) anvendes i stedet.
Et 301 Moved Permanently-svar kan som standard anvendes i cache, dvs. medmindre andet er angivet i metodedefinitionen eller eksplicitte cache-kontroller (se afsnit 4.2.2 i [RFC7234]).
Kilde / citat fra: HTTP-statuskoden 301 Moved Permanently er specificeret i afsnit 6.4.2 i RFC7231.
HTTP-protokol
Hvordan får man en 301-statuskode med PHP?
Hvis du vil have HTTP-statuskoden 301 på en webside, kan du bruge PHP-funktionen http_response_code. Syntaksen er som følger: http_response_code(301) (PHP 5 >= 5.4.0, PHP 7, PHP 8)
Test 301 HTTP-statuskoden
For at kunne vise HTTP-statuskoden (i dette tilfælde 301 Moved Permanently) 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=301
Status: 301 Moved Permanently
Disse: Network
IP-adresse: XX.XX.XX.XX
Browserkompatibilitet for 301-statuskoden
Chrome | Yes |
Edge | Yes |
Firefox | Yes |
Opera | Yes |
Safari | Yes |
Chrome Android | Yes |
Firefox for Android | Yes |
Opera Android | Yes |
Safari on iOS | Yes |
Internet | Yes |
WebView Android | Yes |
Konstanter i programmeringssprog
HttpStatusCode.MovedPermanently
http.StatusMovedPermanently
Response::HTTP_MOVED_PERMANENTLY
httplib.MOVED_PERMANENTLY
http.client.MOVED_PERMANENTLY
http.HTTPStatus.MOVED_PERMANENTLY
:moved_permanently