http-statuskod

HTTP-statuskod – Så hittar du rätt!

Publicerat av

Vad är en HTTP-statuskod ?

HTTP-statuskoder är standardresponskoder som ges av webbplatsservrar på internet. Koderna hjälper till att identifiera orsaken till problemet när en webbsida eller annan resurs inte laddas korrekt. Termen HTTP-statuskod är egentligen den vanliga termen för HTTP-statusraden som innehåller både HTTP-statuskoden och en HTTP-orsaksfras.

Nu ska vi ta ett liten omredigering ner i teknisk SEO och kika på HTTP-statuskoder . Jag tänkte ta upp de vanligaste statuskoder vi ser och samt hur vi använder dom. Och glöm för bövelen inte att njuta av mina fina bilder. Detta kan komma att bli ganska tekniskt, men ack så nyttigt!

2** – Success

Vad betyder HTTP-statuskod 200 OK?

Får du en HTTP-statuskod 200 betyder det “OK”. Det är en generell statuskod som mestadels användas för att indikera på succe och att allt är ok. Detta är alltså standardsvaret för framgångsrika HTTP-förfrågningar. Den faktiska statusen kommer att bero på den använda förfrågningsmetoden. I en GET-förfrågan kommer svaret att innehålla en enhet som motsvarar den begärda resursen. I en POST-förfrågan kommer svaret att innehålla en enhet som beskriver eller innehåller resultatet av åtgärden.

Informationen som returneras med svaret är beroende av den metod som används i förfrågan, till exempel:

  • GET en enhet som motsvarar den begärda resursen skickas i svaret;
  • HEAD-enhetens huvudfält som motsvarar den begärda resursen skickas i svaret utan någon meddelande-kropp;
  • POST en enhet som beskriver eller innehåller resultatet av åtgärden;
  • TRACE en enhet som innehåller begäran meddelande som mottaget av slutservern;

3** – Redirection

Vad betyder HTTP-statuskod 301 Moved Permanently?

Ser du en 302a betyder det att denna och alla framtida förfrågningar ska riktas till den angivna URI.

Den begärda resursen har tilldelats en ny permanent URI och eventuella framtida referenser till den här resursen borde använda en av de returnerade URI: erna. De som har länkredigeringsfunktioner bör automatiskt koppla om länkar till Request-URI till en eller flera av de nya länkarna som serveren returnerar, där det är möjligt. Detta svar är cacheable om inte annat anges. Den nya permanenta URI-enheten ska ges av fältet Plats i svaret. Om inte förfrågningsmetoden var HEAD, bör svarets enhet innehålla en kort hypertextnotering med en hyperlänk till de nya URI-erna.

Om 301-statuskoden är mottagen som svar på en annan fråga än GET eller HEAD, måste användaragenten inte omdirigera begäran automatiskt om den inte kan bekräftas av användaren, eftersom det kan ändra villkoren för ansökan.

Obs! När du automatiskt omdirigerar en POST-förfrågan efter att ha mottagit en 301-statuskod, ändras vissa befintliga HTTP / 1.0-användaragenter felaktigt till en GET-förfrågan.

Vad betyder HTTP-statuskod 302 Found?

Detta är ett exempel på branschpraxis som strider mot standarden. HTTP / 1.0-specifikationen (RFC 1945) krävde att klienten skulle utföra en tillfällig omdirigering (den ursprungliga beskrivningsfrasen var “Flyttad tillfälligt”), men populära webbläsare implementerade 302 med funktionaliteten hos en 303 See Other. Därför adderade HTTP / 1.1 statuskoderna 303 och 307 för att skilja mellan de två beteendena. Vissa webapplikationer och ramverk använder dock 302-statuskoden som om den var 303.

Mer i detalj betyder det att den begärda resursen finns temporärt under en annan URI. Eftersom omdirigeringen kan ändras ibland bör klienten fortsätta använda Request-URI för framtida förfrågningar. Denna statuskod är endast cacheable om det indikeras av ett Cache-Control eller Expires-huvudfält.

Den tillfälliga URI-enheten ska ges av fältet Plats i statusen. Om inte förfrågningsmetoden var HEAD, bör ststusens enhet innehålla en kort hypertextnotering med en hyperlänk till de nya URI-erna.

Om 302-statuskoden är mottagen som ststus på en annan begäran än GET eller HEAD, måste användaragenten inte omdirigera begäran automatiskt om den inte kan bekräftas av användaren, eftersom det kan ändra villkoren för ansökan.

Obs! RFC 1945 och RFC 2068 anger att klienten inte får ändra metoden på den omdirigerade begäran. De flesta befintliga implementationer som finns i ditt CMS behandlar emellertid 302 som om det var ett 303a, som utförde en GET på fältet Plats, oavsett originalförfrågan. Statuskoderna 303 och 307 har lagts till för servrar som vill entydigt avgöra vilken typ av reaktion som förväntas av klienten.


4** – Client Error

Vad betyder HTTP-statuskod 400 Bad Request?

Servern kan inte genomföra förfrågan på grund av felaktig syntax. Klienten SKA INTE upprepa begäran utan ändringar. Detta är ett allmänt fel om förfrågan skulle orsaka ett ogiltigt tillstånd. Några exempel på detta är domänvalideringsfel, saknade data etc.


Vad betyder HTTP-statudkod 403 Forbidden?

Servern förstod begäran, men vägrar att svara på den. Till skillnad från ett 401 (Unauthorized response) kommer autentisering inte att göra någon skillnad. Felkod visas  för användare som inte är behörig att utföra operationen eller resursen är otillgänglig av någon anledning (t ex tidsbegränsningar, etc.).

Här hjälper det inte om en användare försöker med auktorisation, begäran kommer inte upprepas ändå. Om förfrågningsmetoden inte var HEAD och servern vill offentliggöra varför begäran inte har uppfyllts, bör den beskriva orsaken till vägran i enheten. Om servern inte vill göra denna information tillgänglig för klienten kan HTTP-statuskod 404 (Not Found) användas istället.


Vad betyder HTTP-statuskod 404 Not Found?

Den begärda resursen kunde inte hittas men kan vara tillgänglig igen i framtiden. Efterföljande förfrågningar från klienten är tillåtna. 404 används när den begärda resursen inte hittas, om den inte existerar eller om det fanns en 401 eller 403 som av säkerhetsskäl vill tjänsten maskera.

Lite mer i detalj används 404 om servern har inte hittat något som matchar Request-URI. Ingen uppgift om huruvida tillståndet är tillfälligt eller permanent. Använd en HTTP-statuskod 410 (Gone) om servern via en internt konfigurerbar mekanism vet att en gammal resurs är permanent otillgänglig och inte har någon omredigeringsadress. Denna statuskod används ofta när servern inte vill avslöja exakt varför begäran har vägrats eller när inget annan status är tillämpligt. Det finns även mjuka 404or. Men det sparar vi till ett senare tillfälle!


5** – Server Error

Vad betyder HTTP-statuskod 500 Internal Server Error?

Får du en 500:a betyder det att servern stötte på ett oväntat villkor som hindrade det från att uppfylla förfrågan.Detta är ett generellt felmeddelande som sker då inget mer specifikt meddelande är lämpligt. Det gäller allmänna allomfattande fel när serversidan gör ett undantag.


Är du osäker på din statuskoder kan du använda Fetch as Google för att verifiera om din URL har rätt statuskod.  Vill du spinonera på andra sidor kan du använda ett plug-in i Chrome. Jag använder mig av Redirect Path.Vill du se fler söta katter som modellar för statuskoder? Kolla in http.cat!

Vill du veta mer om HTTP-statuskoder eller berätta om en supergod restaurang? Maila mig här!

Dela gärna!

Lämna ett svar

E-postadressen publiceras inte. Obligatoriska fält är märkta *