HTTP
Vad är HTTP?
HTTP (Hypertext Transfer Protocol) är det kommunikationsprotokoll som webbläsare och servrar använder för att skicka förfrågningar och svar på World Wide Web (WWW). Det är HTTP som gör att din dator, mobil eller surfplatta kan prata med servrar och visa innehållet på olika webbplatser. I dag går den allra största delen av webbtrafiken via den krypterade versionen HTTPS, men grundprinciperna är desamma.
Vad betyder HTTP?
HTTP står för Hypertext Transfer Protocol. Namnet består av tre delar:
- Hypertext: Text med så kallade hyperlänkar, eller kort och gott länkar, som kopplar ihop den med andra texter. Webben är det tydligaste exemplet, men även intranät bygger på hypertext.
- Transfer: Överföring, alltså att skicka och ta emot information.
- Protocol: Ett protokoll är en överenskommelse mellan två eller fler enheter om hur kommunikationen ska gå till. HTTP fungerar bara om båda parter följer samma regler, och det är det ”protocol” i namnet syftar på.
Vad betyder http:// i en webbadress?
I början av en webbadress talar http:// eller https:// om för webbläsaren vilket protokoll den ska använda för att hämta sidan. I adressen http://exempel.se/sida är http protokollet, exempel.se domänen och /sida sökvägen på servern. Börjar adressen med https:// använder webbläsaren den krypterade versionen.
Du behöver sällan skriva protokollet själv. Skriver du bara exempel.se lägger webbläsaren till det åt dig. Chrome och flera andra webbläsare försöker då i första hand med HTTPS. Många webbläsare döljer dessutom protokollet i adressfältet.
När använder webbläsaren HTTP?
Webbläsaren (HTTP-klienten) använder HTTP varje gång den hämtar innehåll från en webbserver. Oftast är det HTML-filer och bilder, men det kan lika gärna vara video eller zip-filer.
Hela webben bygger på HTTP, i dag nästan alltid i den krypterade varianten HTTPS (se nedan). Protokollet är det gemensamma språket mellan din dator och servern som har informationen du söker.
Vem använder HTTP?
Det finns alltid två parter: en klient och en server.
- Klienten är vanligtvis en webbläsare, som Safari, Chrome, Microsoft Edge eller Firefox. Sökmotorernas robotar, som Googlebot, är också HTTP-klienter. De hämtar dina sidor på samma sätt som en webbläsare.
- HTTP-servern är programvaran på webbservern som tar emot och besvarar förfrågningarna. En webbserver kan rymma en eller flera webbplatser, till exempel hos ett webbhotell, på en VPS eller på en dedikerad server.
Hur fungerar HTTP?
Klienten skickar en förfrågan och servern skickar tillbaka ett svar. Så här går det till, steg för steg:
- Du skriver en webbadress i adressfältet eller klickar på en länk i din webbläsare.
- Klienten (webbläsaren) skickar en HTTP-förfrågan till en HTTP-server.
- HTTP-servern tar emot förfrågan.
- Servern bearbetar förfrågan.
- Därefter skickar servern tillbaka ett HTTP-svar till klienten.
- Klienten tar emot svaret och visar innehållet på skärmen.
En förenklad förfrågan och ett svar kan se ut så här:
GET /sida HTTP/1.1
Host: exempel.se
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Raderna under den första är HTTP-headers. De innehåller extra information, till exempel vilken domän klienten vill nå och vilken typ av innehåll servern skickar tillbaka. Klient och server skickar förfrågan och svar via port 80 för vanlig HTTP och port 443 för HTTPS.
Varje förfrågan står dessutom för sig själv, eftersom HTTP är tillståndslöst. Servern minns alltså inte tidigare förfrågningar. Därför använder webbplatser cookies när de till exempel ska hålla dig inloggad mellan två sidvisningar.
Vilka förfrågningsmetoder finns?
HTTP har nio vanliga metoder. Metoden talar om vad klienten vill att servern ska göra, och GET i exemplet ovan är den vanligaste:
- GET: Klienten ber servern att skicka en viss fil, till exempel en HTML-sida eller en bild.
- HEAD: Klienten ber om samma information som vid GET, men bara huvudena och inte själva innehållet.
- POST: Klienten skickar information till servern, till exempel när du laddar upp en fil eller skickar ett formulär.
- PUT: Klienten laddar upp eller ersätter en fil på servern. Servern kan neka förfrågan.
- DELETE: Klienten ber servern att ta bort en fil. Vanliga webbläsare använder sällan metoden, men API:er använder den ofta.
- TRACE: Klienten ber servern att skicka tillbaka förfrågan. Metoden kan visa om någon har ändrat förfrågan på vägen, men många servrar stänger av den av säkerhetsskäl.
- OPTIONS: Klienten frågar vilka metoder servern stöder för en viss adress.
- CONNECT: Klienten öppnar en tunnel via en proxyserver, till exempel för att skicka krypterad HTTPS-trafik.
- PATCH: Klienten ändrar delar av innehållet i en fil på servern.
Visste du att det bara är GET och HEAD som alla HTTP-servrar för allmänt bruk måste stödja?
HTTP-statuskoder
En statuskod är det tresiffriga besked servern alltid skickar för att tala om hur det gick med förfrågan. Siffran 200 i svarsexemplet ovan är en sådan kod. Statuskoderna finns i fem kategorier:
- 1xx: Informationssvar. Servern skickar ett preliminärt besked före det slutliga svaret, till exempel 100 Continue.
- 2xx: Förfrågan lyckades. Servern har tagit emot och accepterat den.
- 3xx: Klienten behöver göra något mer, oftast följa en omdirigering (redirect). Hit hör även 304 Not Modified, som talar om att innehållet inte har ändrats sedan förra hämtningen.
- 4xx: Felet ligger hos klienten, till exempel en felstavad adress.
- 5xx: Felet ligger hos servern.
Inom varje kategori har koderna egna nummer. Här är de du oftast stöter på:
- 200 OK: Servern har accepterat förfrågan och skickar det efterfrågade innehållet.
- 301 Moved Permanently: Servern har permanent dirigerat om förfrågan till en annan adress. Använd den när ett blogginlägg byter adress eller när du flyttar trafik till en annan server.
- 302 Found: Servern dirigerar om förfrågan tillfälligt. Använd koden bara när den gamla adressen ska komma tillbaka.
- 404 Not Found: Servern kunde inte hitta den sida som klienten efterfrågar. Det är den statuskod du ser när en länk är trasig eller någon har tagit bort en sida.
- 410 Gone: Sidan är borttagen för gott och kommer inte tillbaka.
- 500 Internal Server Error: Något gick oväntat fel på servern.
- 503 Service Unavailable: Servern kan inte svara på förfrågan just nu. Det händer till exempel när servern är överbelastad eller under planerat underhåll.
Vilka versioner av HTTP finns?
I dag möter du tre versioner av HTTP: 1.1, 2 och 3. Protokollet har funnits sedan början av 1990-talet, och versionsnumret syns i exemplet ovan:
- HTTP/1.1 (1997): Fortfarande vanlig. Hanterar i praktiken en förfrågan i taget per anslutning.
- HTTP/2 (2015): Skickar flera förfrågningar samtidigt över samma anslutning och komprimerar huvudena, vilket kan göra sidor snabbare.
- HTTP/3 (2022): Bygger på protokollet QUIC i stället för TCP. Versionen klarar instabila uppkopplingar bättre, till exempel mobilnät.
Som besökare märker du inte vilken version som gäller. Webbservern och webbläsaren kommer själva överens om den.
Är HTTP säkert?
Nej. Vanlig HTTP skickar all data okrypterad. Den som kommer åt nätverket, till exempel på ett öppet wifi, kan då läsa och ändra det du skickar, som lösenord och formulärdata.
Lösningen är HTTPS, som lägger kryptering ovanpå HTTP. Protokollet fungerar likadant, men ingen kan läsa trafiken på vägen. Hur krypteringen fungerar, hur du byter och vad HTTPS betyder för SEO går vi igenom i Vad är HTTPS? Kör du WordPress finns också en guide till att göra din WordPress-sajt säker med HTTPS.
Vad betyder HTTP för SEO?
HTTP styr hur sökmotorer hämtar och bedömer din webbplats, eftersom Googlebot är en HTTP-klient precis som din webbläsare. Varje sida Googlebot besöker svarar med en statuskod, och den koden avgör om sidan alls kan komma i fråga för indexering. Här slutar HTTP vara teori och börjar påverka din trafik. Det handlar om tre saker: att dina sidor går att indexera, att värdet följer med när adresser ändras och att Googlebot kan crawla effektivt.
Statuskoderna avgör om sidorna kan indexeras
För att Googlebot och andra sökmotorer ska kunna nå och läsa dina sidor måste servern svara korrekt, i normalfallet med 200 OK. Om sidor returnerar felkoder som 404 eller 500, eller om serverinställningar blockerar dem, kan det hindra indexering. Två fel är extra lömska:
- Serverfel: Återkommande 5xx-fel får Googlebot att sänka crawltakten. Sidor som fortsätter att svara med fel kan till slut försvinna ur indexet.
- Mjuka 404:or: En sida som visar ”sidan finns inte” men svarar 200 OK är en så kallad mjuk 404. Google behandlar den som ett fel, och den slösar crawlning på innehåll som inte finns.
Omdirigeringar bevarar värdet när adresser ändras
Ofta behöver du dirigera om gamla adresser. En korrekt 301-omdirigering för vidare länkvärdet och ser till att användarna hamnar rätt. Undvik kedjor av omdirigeringar. Varje extra steg gör sidan långsammare, och Googlebot följer som standard högst tio steg.
Rätt protokollversion gör crawlningen effektivare
Googlebot kan crawla över HTTP/2 om webbplatsen använder HTTPS och servern stöder HTTP/2. Det kan spara serverresurser för både dig och Google, men enligt Google ger det ingen rankningsfördel.
Felaktiga statuskoder och trasiga omdirigeringar är sällan svåra att hitta. Det svåra är att få dem åtgärdade. I vårt arbete med teknisk SEO går vi igenom indexering, rendering och prestanda, och sedan genomför vi åtgärderna tillsammans med dig. Du arbetar direkt med experten, utan projektledare emellan.
Vanliga frågor om HTTP
Vad står HTTP för?
HTTP står för Hypertext Transfer Protocol. Det är protokollet som webbläsare och servrar använder för att hämta och skicka webbsidor.
Är HTTP säkert?
Nej. Vanlig HTTP skickar data okrypterad, så obehöriga kan läsa den på vägen. Använd därför HTTPS, den krypterade versionen.
Vilken port använder HTTP?
Vanlig HTTP använder port 80 som standard. Den krypterade versionen HTTPS använder port 443.
Vad är skillnaden mellan HTTP/1.1 och HTTP/2?
HTTP/1.1 hanterar i praktiken en förfrågan i taget per anslutning. HTTP/2 skickar flera förfrågningar samtidigt över samma anslutning och komprimerar huvudena, vilket kan göra sidor snabbare.
Vad betyder HTTP-status 404?
Servern hittar inte sidan du efterfrågar. Det händer oftast när en länk är trasig eller när någon har tagit bort sidan.
Innehåll
- Vad är http?
- Vad betyder http?
- Vad betyder http:// i en webbadress?
- När använder webbläsaren http?
- Vem använder http?
- Hur fungerar http?
- Vilka förfrågningsmetoder finns?
- Http-statuskoder
- Vilka versioner av http finns?
- Är http säkert?
- Vad betyder http för seo?
- Statuskoderna avgör om sidorna kan indexeras
- Omdirigeringar bevarar värdet när adresser ändras
- Rätt protokollversion gör crawlningen effektivare
- Vanliga frågor om http
- Vad står http för?
- Är http säkert?
- Vilken port använder http?
- Vad är skillnaden mellan http/1.1 och http/2?
- Vad betyder http-status 404?