Om du är en van internetanvändare har du troligen stött på förkortningarna HTTP och HTTPS ett antal gånger. De förekommer i början av en internetadress, till exempel https://gratissslcertifikat.se. Men vad är egentligen skillnaden och vilket är att föredra? Dessa frågor kommer besvaras i det här inlägget.
HTTP – ett kommunikationsprotokoll
HTTP står för Hypertext Transfer Protocol och är ett kommunikationsprotokoll. Ett kommunikationsprotokoll är en typ av mall för hur kommunikationen mellan två parter ska utföras. Protokoll för kommunikation finns inte bara i datorernas värld, utan hittas lite varstans i vardagen. När det ringer i din telefon så svarar du säkerligen på ett sätt som talar om för den andra parten att ”jag är här, det är fritt fram att prata”. Ännu tydligare är kanske kommunikationsprotokollet kopplat till radiokommunikation. Där avslutas vanligen varje replik med ”kom”, för att visa att parten har pratat färdigt. Hela samtalet avslutas i regel med ”slut” eller ”klart slut”. Det finns alltså en mall för hur kommunikationen mellan parterna ska fungera, för att kunna utbyta information så effektivt som möjligt.
HTTP-protokollet ser till att det finns en mall för hur filer överförs på webben. Alla webbplatser du besöker lagras på webbservrar. För att du ska kunna besöka en specifik webbsida måste din dator skicka en förfrågan till webbservern där webbplatsen är lagrad, som då kan skicka den efterfrågade filen till dig. En förfrågan består i sin enklaste form av tre komponenter: typ av förfrågan, berörd fil och HTTP-version. Med ”typ av förfrågan” menas vilken åtgärd som ska utföras. Det finns åtta möjliga åtgärder, varav GET och POST förmodligen är de två vanligaste. En GET-förfrågan ber servern skicka den berörda filen till klienten (din dator). Varje webbsida du besöker är resultatet av flera GET-förfrågningar, då din dator måste be servern skicka HTML-dokument, bilder, CSS-filer och så vidare. En POST-förfrågan skickar istället informationen till servern, som sedan hanteras på något vis. En sådan förfrågan skickas exempelvis när du laddar upp en bild på Instagram eller publicerar ett nytt blogginlägg. En HTTP-förfrågan kan således se ut så här: GET /om-oss.html HTTP/1.1
. Om servern hittar filen om-oss.html så kommer den skickas till klienten (tillsammans med lite ytterligare information). En POST-förfrågan är vanligen skickad till följd av att ett formulär av något slag är skickat på en webbsida. Informationen i formuläret kommer då att skickas med i HTTP-förfrågan till servern.
HTTPS – en säkrare anslutning
Det extra S:et i HTTPS står för secure. Det är alltså en säkrare variant av HTTP. I grunden fungerar de två protokollen på liknande sätt, men med en fundamental skillnad: över HTTP-protokollet krypteras informationen som skickas mellan klient och server med TLS (eller SSL som det ofta fortfarande kallas, även om det egentligen är en äldre variant av det mer moderna TLS). Med hjälp av TLS/SSL kan information skickas säkert mellan din dator och webbservern. För även om du som klient skickar en HTTP-förfrågan i tron att det bara är servern som kommer ta del av informationen, så är det möjligt för utomstående personer att ta reda på vad du har skickat för data till servern. Det är såklart känsligt om du till exempel skickar kreditkortsinformation eller hemliga upplysningar. Därför har HTTPS blivit ett vanligare protokoll på webbplatser som handskas med denna typ av känslig information. På så sätt kan illasinnade personer inte läsa av kommunikationen mellan dig och servern, eftersom informationen är krypterad.
För att du ska kunna efterfråga en specifik webbsida med HTTPS-protokollet krävs att ett SSL-certifikat är installerat på servern. Det är en typ av legitimation som säkrar att webbservern faktiskt är den dator som den utger sig för att vara. Om du själv driver en webbplats så bör du överväga att skaffa ett SSL-certifikat om du handskas med inloggningsuppgifter, betalfunktioner eller liknande. Ofta kostar det några extra hundralappar varje månad, men faktum är att det finns väldigt bra gratis SSL-certifikat på svenska webbhotell också.