HTTP-status codes er som korte noter fra en server, der klæbes på et website. De er ikke en del af webstedets content. I stedet er det meddelelser fra serveren, der fortæller dig, hvordan det gik, da den modtog anmodningen om at få vist en bestemt side.
Disse slags meddelelser returneres hver gang din browser interagerer med en server, selvom du ikke kan se dem. Hvis du er en website-ejer eller udvikler, er det vigtigt at forstå HTTP-status codes. Når de vises, er HTTP-status codes et uvurderligt værktøj til diagnosticering og rettelse af konfigurationsfejl på webstedet.
Denne artikel introducerer flere serverstatus og fejlkoder og forklarer, hvad de afslører om, hvad der sker på serveren bag kulisserne.
Lad os dykke ind!
Foretrækker du at se videoversionen?
Hvad er HTTP status codes?
Hver gang du klikker på et link eller indtaster en URL og trykker på Enter, sender din browser en anmodning til webserveren om det websted, du prøver at få adgang til. Serveren modtager og behandler anmodningen og sender derefter de relevante ressourcer tilbage sammen med en HTTP-header.
HTTP status codes leveres til din browser i HTTP-headeren. Mens status codes returneres hver eneste gang din browser anmoder om en webside eller ressource, ser du det meste af tiden ikke.
Det er normalt kun, når noget går galt, at du muligvis ser en der vises i din browser. Dette er serverens måde at sige: ”Noget er ikke rigtigt. Her er en kode, der forklarer, hvad der gik galt. ”
Hvis du vil se de status codes som din browser ikke normalt viser dig, er der mange forskellige værktøjer, der gør det let. Browserudvidelser er tilgængelige for udviklervenlige platforme som Chrome og Firefox, og der er mange webbaserede header-hentnings værktøjer som Web Sniffer.
Hvis du vil se HTTP-status codes med et af disse værktøjer, skal du kigge efter den linje, der vises nær toppen af rapporten, der siger “Status: HTTP/1.1”. Dette efterfølges af den status code der blev returneret af serveren.
Forståelse af HTTP-status codes klasser
HTTP-status codes er opdelt i 5 “klasser”. Dette er grupper af svar, der har lignende eller relaterede betydninger. At vide, hvad de er, kan hjælpe dig med hurtigt at bestemme det generelle stof i en statu code, inden du går i gang med at finde dens specifikke betydning.
De fem klasser inkluderer:
- 100’s: Oplysningskoder, der viser, at den anmodning, der er indledt af browseren, fortsætter.
- 200’s: Succes codes returneres, når browser anmodningen blev modtaget, forstået og behandlet af serveren.
- 300s: Redirection codes der returneres, når en ny ressource er erstattet af den ønskede ressource.
- 400s: Klientfejlkoder, der indikerer, at der var et problem med den anmodning.
- 500s: Serverfejlkoder, der indikerer, at anmodningen blev accepteret, men at en fejl på serveren forhindrede opfyldelsen af anmodningen.
Inden for hver af disse klasser findes en række server koder og kan returneres af serveren. Hver individuelle kode har en bestemt og unik betydning, som vi vil dække i den mere omfattende liste nedenfor.
Hvorfor HTTP-statuskoder og -fejl er relevant for søgemaskineoptimering (SEO)
Søgemaskinebots ser HTTP-statuskoder, mens de crawler dit websted. I nogle tilfælde kan disse meddelelser have indflydelse på, om og hvordan dine sider indekseres, samt hvordan søgemaskiner opfatter dit websteds helbred.
Generelt har 100- og 200-niveau HTTP-status codes ikke meget indflydelse på din SEO. De signalerer, at alt fungerer som det skal på dit websted, og gør det muligt for søgemaskine-bots at fortsætte på vej. De vil dog heller ikke øge din placering.
For det meste er det koder på højere niveau, der betyder noget for SEO. 400- og 500-niveau svar kan forhindre bots i at gennemgå og indeksere dine sider. For mange af disse fejl kan også indikere, at dit websted ikke er af høj kvalitet, hvilket muligvis sænker din placering.
Koder på 300-niveau har et lidt mere kompliceret forhold til SEO. Den vigtigste ting, du skal vide for at forstå deres indflydelse, er forskellen mellem permanente og midlertidige redirects, som vi vil dække mere detaljeret i det relevante afsnit nedenfor.
I et nøddeskal, deler permanente redirects imidlertid link equity fra backlinks, men midlertidige gør det ikke. Med andre ord, når du bruger midlertidige redirects til sider, der er flyttet, mister du SEO-fordelen ved al den linkbuilding, du har udført.
At tjekke for HTTP-status codes i Google Search Console
En måde at overvåge, hvordan Google opfatter HTTP-status codes på dit websted, er at bruge Google Search Console. Du kan se statuskoder på 300-, 400- og 500-niveauer i rapporten Dækning:
Dette område af dit betjeningspanel viser fire typer indhold på dit websted:
- Sider, der returnerer fejl.
- Gyldige sider, der har advarsler.
- Ressourcer, der er gyldige.
- Content ekskluderet fra indekset.
Du kan finde sider med 300-, 400- og 500-niveau HTTP-status codes under afsnittet Ekskluderet, Fejl eller Gyldigt med advarsler afhængigt af kodetypen. For eksempel kan 301 redirects vises under Ekskluderet som side med redirect:
400- og 500-niveau status codes vises sandsynligvis under Fejl.
En anden måde at se HTTP status codes på er ved hjælp af URL-inspektion værktøjet. Hvis Google ikke er i stand til at indeksere en bestemt side på grund af en fejl, ser du det her:
For flere tip til brug af Google Search Console, se vores omfattende guide til platformen.
En komplet guide og liste over HTTP-status codes
Mens der er over 40 forskellige server status codes, vil du sandsynligvis støde på under et dusin regelmæssigt. Nedenfor har vi dækket de mere almindelige koder, såvel som et par af de mere uklare koder, du stadig kan støde på.
100 status codes
En status code på 100 niveauer fortæller dig, at den anmodning, du har fremsat til serveren, stadig er i gang af en eller anden grund. Dette er ikke nødvendigvis et problem, det er bare ekstra information for at fortælle dig, hvad der foregår.
- 100: “Fortsæt.” Dette betyder, at den pågældende server har modtaget din browsers request headers og nu er klar til, at request body også sendes. Dette gør request process mere effektiv, da den forhindrer browseren i at sende en body-anmodning, selvom headers er blevet afvist.
- 101: “Skift af protokoller.” Din browser har bedt serveren om at ændre protokoller, og serveren har overholdt.
- 103: “Tidlige tip.” Dette returnerer nogle response headers, før resten af serverens svar er klar.
200 status codes
Dette er den bedste slags HTTP-statuskode, der kan modtages. Et svar på 200 niveauer betyder, at alt fungerer nøjagtigt som det skal.
- 200: “Alt er i orden.” Dette er den kode, der leveres, når en webside eller ressource fungerer nøjagtigt som den forventes.
- 201: “Oprettet.” Serveren har opfyldt browserens anmodning og har som et resultat oprettet en ny ressource.
- 202: “Accepteret.” Serveren har accepteret din browsers anmodning, men behandler den stadig. Anmodningen kan i sidste ende muligvis resultere i et afsluttet svar.
- 203: “Ikke-autoritativ information.” Denne statuskode kan vises, når en proxy er i brug. Det betyder, at proxyserveren modtog en 200 ”Alt er OK” -statuskode fra original-serveren, men har ændret svaret, før det videresendes til din browser.
- 204: “Intet indhold.” Denne kode betyder, at serveren har behandlet anmodningen, men ikke returnerer noget indhold.
- 205: “Nulstil content.” Som en 204-kode betyder det, at hvordan serveren har behandlet anmodningen, men ikke vil returnere noget indhold. Det kræver dog også, at din browser nulstiller dokumentvisningen.
- 206: “Delvis content.” Du kan se denne statuskode, hvis din HTTP-klient (også kendt som din browser) bruger’ range headers’. Dette gør det muligt for din browser at genoptage pausede downloads, såvel som at dele en download i flere streams. En 206-kode sendes, når en range header får serveren til kun at sende en del af den ønskede ressource.
300 status codes
Redirection er den proces, der bruges til at kommunikere, at en ressource er blevet flyttet til et nyt sted. Der er flere HTTP-status codes, der ledsager en redirect, for at give besøgende oplysninger om, hvor de kan finde det indhold, de leder efter.
- 300: “Flere valg.” Nogle gange kan der være flere mulige ressourcer, som serveren kan svare på for at opfylde din browsers anmodning. En 300-status code betyder, at din browser nu skal vælge mellem dem. Dette kan forekomme, når der er flere filtypeudvidelser tilgængelige, eller hvis serveren oplever disambiguering af ordfølelse.
- 301: “Den anmodede ressource er flyttet permanent.” Denne kode leveres, når en webside eller ressource er permanent erstattet med en anden ressource. Det bruges til permanent redirect af URL.
- 302: “Den anmodede ressource er flyttet, men blev fundet.” Denne kode bruges til at indikere, at den ønskede ressource blev fundet, bare ikke på det sted, hvor den var forventet. Det bruges til midlertidig URL redirection.
- 303: “Se Andet.” At forstå en 303-statuskode kræver, at du kender forskellen mellem de fire primære HTTP request methods. I det væsentlige fortæller en 303-kode din browser, at den fandt den ressource, som din browser anmodede om via POST, PUT eller DELETE. For at hente den vha. GET, skal du dog indgive en passende anmodning til en anden URL end den, du tidligere har brugt.
- 304: “Den anmodede ressource er ikke blevet ændret siden sidste gang du adgang til den.” Denne kode fortæller browseren, at ressourcerne, der er gemt i browsercachen, ikke er ændret. Det bruges til at fremskynde levering af websider ved at genbruge tidligere downloadede ressourcer.
- 307: “Temporary Redirect.” Denne statuskode har erstattet 302 “Fundet” som den passende handling, når en ressource midlertidigt er flyttet til en anden URL. I modsætning til statuskoden 302 tillader den ikke HTTP-metoden at ændre sig.
- 308: “Permanent redirect.” 308-statuskoden er efterfølgeren til koden 301 “flyttet permanent”. Det tillader ikke HTTP-metoden at ændre sig og angiver, at den anmodede ressource nu permanent findes på en ny URL.
400 status codes
400 statuskoder angår fejlkoder, der angiver, at der er en fejl med din browser og / eller anmodning.
- 400: “Dårlig anmodning.” Serveren kan ikke returnere et svar på grund af en fejl i klientens ende. Se vores vejledning til løsning af denne fejl.
- 401: “Uautoriseret” eller “Godkendelse krævet.” Dette returneres af serveren, når målressourcen mangler gyldige godkendelsesoplysninger. Du kan se dette, hvis du har konfigureret grundlæggende HTTP-godkendelse ved hjælp af htpasswd.
- 402: “Betaling krævet.” Oprindeligt blev denne kode oprettet til brug som en del af et digitalt cash system. Den plan fulgte dog aldrig igennem. I stedet bruges det af en række platforme til at indikere, at en anmodning ikke kan opfyldes, normalt på grund af mangel på krævede midler. Almindelige tilfælde inkluderer:
- Du har nået din daglige anmodningsgrænse til Google Developers API.
- Du har ikke betalt dine Shopify-gebyrer, og din butik er midlertidigt deaktiveret.
- Din betaling via Stripe mislykkedes, eller Stripe forsøger at forhindre en svigagtig betaling.
- 403: “Adgang til denne ressource er forbudt.” Denne kode returneres, når en bruger forsøger at få adgang til noget, de ikke har tilladelse til at se. For eksempel kan det være en 403 error at forsøge at nå adgangskodebeskyttet content uden at logge ind.
- Du har nået din daglige anmodningsgrænse til Google Developers API.
- Du har ikke betalt dine Shopify-gebyrer, og din butik er midlertidigt deaktiveret.
- Din betaling via Stripe mislykkedes, eller Stripe forsøger at forhindre en svigagtig betaling.
- 404: “Den anmodede ressource blev ikke fundet.” Dette er den mest almindelige fejlmeddelelse af dem alle. Denne kode betyder, at den ønskede ressource ikke findes, og serveren ved ikke, om den nogensinde har eksisteret.
- 405: “Method not allowed.” Dette genereres, når hosting-serveren (originalserver) understøtter den modtagne metode, men målressourcen ikke.
- 406: “Ikke acceptabelt svar.” Den anmodede ressource er kun i stand til at generere indhold, der ikke er acceptabelt i henhold til de acceptering-header, der er sendt i anmodningen.
- 407: “Proxy-godkendelse kræves.” En proxyserver er i brug og kræver, at din browser skal autentificere sig, før de fortsætter.
- 408: “Serveren udløb og ventede på resten af anmodningen fra browseren.” Denne kode genereres, når en server afbrydes, mens den venter på den komplette anmodning fra browseren. Med andre ord fik serveren ikke den fulde anmodning, der blev sendt af browseren. En mulig årsag kan være net-overbelastning, hvilket resulterer i tab af datapakker mellem browseren og serveren.
- 409: “Konflikt.” En 409-status code betyder, at serveren ikke kunne behandle din browsers anmodning, fordi der er en konflikt med den relevante ressource. Dette sker undertiden på grund af flere samtidige redigeringer.
- 410: “Den ønskede ressource er væk og kommer ikke tilbage.” Dette ligner en 404 “Ikke fundet” -kode, undtagen en 410 indikerer, at betingelsen er forventet og permanent.
- 411: “Længde krævet.” Dette betyder, at den anmodede ressource kræver, at klienten specificerer en bestemt længde, og at den ikke gjorde det.
- 412: “Forudsætning mislykkedes.” Din browser inkluderede visse betingelser i dens anmodnings-headers, og serveren opfyldte ikke disse specifikationer.
- 413: “nyttelast for stor” eller “anmodning om enhed for stor.” Din anmodning er større, end serveren er villig til eller kan behandle.
- 414: “URI for lang.” Dette er normalt resultatet af en GET-anmodning, der er kodet som en forespørgselsstreng, der er for stor til, at serveren kan behandles.
- 415: “Ikke-understøttet medietype.” Anmodningen inkluderer en medietype, som serveren eller ressourcen ikke understøtter.
- 416: “Range Not Satisfiable.” Din anmodning var om en del af en ressource, som serveren ikke kan returnere.
- 417: “Forventning mislykkedes.” Serveren kan ikke opfylde kravene, der er specificeret i anmodningens forventningsoverskriftsfelt.
- 418: “Jeg er en tekande.” Denne kode returneres af tekander, der modtager anmodninger om at brygge kaffe. Det er også en April Fool’s joke fra 1998.
- 422: “Uforarbejdelig enhed.” Klientanmodningen indeholder semantiske fejl, og serveren kan ikke behandle den.
- 425: “For tidligt.” Denne kode sendes, når serveren ikke er villig til at behandle en anmodning, fordi den muligvis kan afspilles igen.
- 426: “Opgradering krævet.” På grund af indholdet i anmodningens opdateringshovedfelt, skal klienten skifte til en anden protokol.
- 428: “Forudsætning krævet.” Serveren kræver, at der specificeres betingelser, før behandlingen af anmodningen.
- 429: “For mange anmodninger.” Dette genereres af serveren, når brugeren har sendt for mange anmodninger i en given tidsperiode (hastighedsbegrænsende). Dette kan undertiden opstå på grund af bots eller scripts, der forsøger at få adgang til dit websted. I dette tilfælde kan du prøve at ændre din WordPress-login-URL. Du kan også tjekke vores vejledning til at rette en 429 “Too Many Requests” -fejl.
- 431: “Anmod om headerfelter er for store.” Serveren kan ikke behandle anmodningen, fordi headerfelterne er for store. Dette kan indikere et problem med et enkelt headerfelt eller dem alle samlet.
- 451: “Utilgængelig af juridiske grunde.” Operatøren af serveren har modtaget et krav om at forbyde adgang til den ressource, du har anmodet om (eller et sæt ressourcer inklusive den, du har anmodet om). Sjov kendsgerning: Denne kode er en henvisning til Ray Bradburys roman Fahrenheit 451.
- 499: “Anmodning om klient lukket.” Dette returneres af NGINX, når klienten lukker anmodningen, mens Nginx stadig behandler den.
500 status codes
Status codes på 500 niveauer betragtes også som fejl. De betegner dog, at problemet er ved serverens ende. Dette kan gøre dem vanskeligere at løse.
- 500: “Der opstod en fejl på serveren, og anmodningen kunne ikke udføres.” Dette er en generisk kode, der blot betyder “intern serverfejl”. Der gik noget galt på serveren, og den anmodede ressource blev ikke leveret. Denne kode genereres typisk af tredjeparts plugins, defekt PHP eller endda brud på forbindelsen til databasen. Se vores tutorials om, hvordan du løser fejlen ved oprettelse af en databaseforbindelse og andre måder til at løse en 500 intern serverfejl.
- 501: “Ikke implementeret.” Denne fejl indikerer, at serveren ikke understøtter den funktionalitet, der kræves for at opfylde anmodningen. Dette er næsten altid et problem på selve webserveren og skal normalt løses af værten. Se vores anbefalinger om, hvordan du løser en 501 ikke implementeret error.
- 502: “Dårlig gateway.” Denne fejlkode betyder typisk, at en server har modtaget et ugyldigt svar fra en anden, f.eks. når en proxyserver er i brug. Andre gange tager en forespørgsel eller anmodning for lang tid, og det annulleres eller dræbes af serveren, og forbindelsen til databasen går i stykker. For yderligere detaljer, se vores dybdegående tutorial om, hvordan du løser en 502 Bad Gateway error.
- 503: “Serveren er ikke tilgængelig til at håndtere denne anmodning lige nu.” Anmodningen kan ikke afsluttes på dette tidspunkt. Denne kode kan returneres af en overbelastet server, der ikke er i stand til at håndtere yderligere anmodninger. Vi har en komplet guide til, hvordan du løser fejlen 503 Service, der ikke er tilgængelig.
- 504: “Serveren, der fungerer som en gateway, udløb og ventede på, at en anden server skal svare.” Dette er koden, der returneres, når der er to servere, der er involveret i behandlingen af en anmodning, og den første server afbryder ventetid på, at den anden server skal svare. Du kan læse mere om, hvordan du løser 504 error i vores dedikerede guide.
- 505: “HTTP-version understøttes ikke.” Serveren understøtter ikke den HTTP-version, som klienten brugte til at indgive anmodningen.
- 508: “Ressourcegrænsen er nået” grænser for ressourcer, der er indstillet af din webhost, er nået. Se vores vejledning til, hvordan du løser fejlen “508 Ressourcegrænse er nået“.
- 509: “Båndbreddegrænsen er overskredet” betyder, at dit websted bruger mere båndbredde, end din hostingudbyder tillader.
- 511: “Netværksgodkendelse krævet.” Denne statuskode sendes, når det netværk, du prøver at bruge, kræver en form for godkendelse, før du sender din anmodning til serveren. For eksempel er du muligvis nødt til at acceptere betingelserne og betingelserne for et offentligt Wi-Fi-hotspot.
- 521: “Webserver er nede.” Error 521 er en Cloudflare-specifik fejlmeddelelse. Det betyder, at din webbrowser var i stand til at oprette forbindelse til Cloudflare, men Cloudflare kunne ikke oprette forbindelse til oprindelses webserveren
- 525: “SSL-handshake failed“. Fejl 525 betyder, at SSL-håndtrykket mellem et domæne ved hjælp af Cloudflare og oprindelses-webserveren mislykkedes. Hvis du oplever problemer, er der fem metoder, som du nemt kan prøve for at løse error 525.
Hvor du kan lære mere om HTTP-status codes
Ud over de HTTP-status codes, vi har dækket på denne liste, er der nogle mere uklare, som du måske ønsker at lære om. Der er flere ressourcer, du kan konsultere for at læse om disse sjældnere koder, herunder:
- Denne omfattende liste over HTTP-status codes fra Wikipedia.
- Definition af statuskode fra Internet Engineering Task Force (IETF).
- RFC 7231.
At kende disse statuskoder kan hjælpe dig med at løse nogle unikke problemer, mens du vedligeholder dit eget websted, eller endda når du støder på dem på andre websteder.
Resumé
Selvom de kan virke forvirrende eller skræmmende på overfladen, er HTTP-status codes faktisk meget informative. Ved at lære nogle af de almindelige, kan du løse problemer på dit websted hurtigere.
I dette indlæg har vi defineret 40+ HTTP-status codes, som du måtte støde på. Fra de mildere koder på 100 og 200 niveauer til de vanskeligere 400- og 500-niveau-fejl er det at give mening om disse meddelelser afgørende for at vedligeholde dit websted og sikre, at det er tilgængeligt for brugerne.
Skriv et svar