När man gör webbplatser och hemsidor så stöter man förr eller senare på något som kallas “redirects” eller omdirigeringar. I grunden så är det ett sätt att hjälpa besökaren att hamna rätt om man på ett eller annat sätt har hamnat på fel ställe, men det har också andra funktioner som vi ska se.
Exempel på användning är om man har ändrat webbadress, eller så kan det vara så att ens webbadress ofta stavas fel, så man köper den domänen och dirigerar om till rätt sida, eller, vilket är ganska vanligt, så köper man extra toppdomäner för att lättare behålla varumärket för sig själv själv. Till exempel mittföretag.se, mittforetag.se, mittforetag.nu, mittforetag.eu osv.
Det finns ett antal olika sätt att omdirigera besökaren från en sida till en annan. 301 och 302 är omdirigeringar som följer http version 1.0 standarden och omdirigeringarna 303, 307 och 308 som kräver http version 1.1.
301 Permanent omdirigering
En 301 omdirigering innebär att sidan eller webbplatsen man kommit till har flyttat permanent och finns nu på en annan adress.
Servern talar om för besökaren och alla sökmotorer att sidan har flyttats och att alla hänvisningar till sidan behöver uppdateras till den nya adressen.
Används när:
- Du vill ta bort en sida permanent
Varför missa trafik? Dirigera om till en annan lämplig sida. Dessutom får du 404-fel när man går in på en gammal sida som inte längre finns. Det uppskattas inte av Google och andra sökmotorer.
- Du vill göra en version av ett dokument otillgängligt och istället hänvisa till en annan, ny version.
302 Temporär omdirigering
Innebär att du visserligen har kommit rätt, men sidan finns just nu på en annan adress. Du kan gå dit och läsa, eller återkomma vid ett senare tillfälle, då sidan kommer att komma tillbaka.
Denna omdirigering var från början tänkt för när man behövde göra någon teknisk uppdatering eller förändring. Till exempel om man uppgraderade sitt webbhotell eller sida så kunde man tillfälligt dirigera om trafiken.
Nu för tiden så betraktar Google en 302 på samma sätt som en 301. Använd helst inte denna omdirigering om du inte vet exakt varför du behöver just detta. Om du är utvecklare och behöver använda omdirigering för Post/Redirect/Get pattern så använd hellre 303.
303 Temporär omdirigering, med extra dataskydd
Innebär att du blir omdirigerad till en annan sida efter att du skickat information till webbservern. Används ofta när man fyller i ett formulär som inte ska kunna bokmärkas, skickas flera gånger eller cachas. Till exempel när du fyller i kreditkortsuppgifter.
Servern tar emot dina uppgifter som skickats via POST metoden och svarar med att skicka dig vidare till en annan sida med svaret som hämtas med hjälp av GET metoden bara för att verkligen se till att det inte kan bli någon dataförväxling eller liknande.
Denna metod används främst av utvecklare och för sidor där man ska fylla i uppgifter som ska kunna skickas endast en gång, och inte mer (om man råkar trycka fler gånger så ska endast den första klicket användas).
307 Temporär omdirigering
Liknar 303 väldigt mycket med den skillnaden att istället för att skifta teknik för hur informationen skickas så används en och samma teknik. Även denna typ av omdirigering används ofta för att förhindra att man skickar samma information flera gånger.
308 Permanent omdirigering
Ungefär samma som 307, fast permanent. Används mest av
webbutvecklare.
Varför så många typer av omdirigeringar?
Därför att webbläsare började hantera 302 omdirigeringar på olika sätt, så det finns idag inte någon möjlighet att veta hur en 302 hanteras av besökarens webbläsare.
Därför måste W3C:
- I princip överge 302 och låta webbläsarna göra vad de vill med denna.
- Skapa 307 Tillfällig omdirigering för att fungera på det sätt 302 var tänkt att fungera. Om sidan inte finns, eller om du skickar ett formulär, så blir du omdirigerad till en annan sida.
- Skapa 303 för att hantera andra saker som vissa webbläsare gör med 302, nämligen omdirigera till annan sida, och om du skickar ett formulär, byt metod för hur informationen skickas och omdirigera till annan sida.
308 är mest för att göra den nya typen av omdirigeringar komplett och ge en permanent version av omdirigering som skickar formulärdata till en ny adress via samma metod som användes på ordinarie sida.
Så, vilken typ av omdirigering är viktig för mig?
- 302 av den enkla anledningen att du vill undvika den. Om du ser att den används på din webbplats, ta reda på varför och hur du kan undvika det.
- 301 därför att det är denna typ av omdirigering du vill använda om du hanterar en webbplats och inte är utvecklare med specifika behov.
Hur kan jag se vilken typ av omdirigering jag använder?
Denna information är inte synlig på din webbsida, men du kan relativt enkelt få fram detta genom ett verktyg som till exempel
https://httpstatus.io som är gratis och reklamfri.