HTTP, POST & GET

Posted on January 04, 2017

Hur fungerar det egentligen?

Bokstavskombinationen HTTP är något man möts av dagligen när man besöker webbsidor, kopierar bildlänkar eller vad det än må vara! Men vad står det för, hur använder vi oss av det och hur funkar det? Nedan kommer en introduktion till användningen av HTTP, samt en genomgång av vissa centrala begrepp.

Vi kommer alltså gå igenom vad som händer när du besöker en webbplats, klickar på en länk, eller skickar information via ett formulär. Två centrala begrepp som är bra att förstå är server och klient.

Klient

Vid webbutvecklingen pratar man om din browser (safari, chrome, firefox, IE) som “klienten”. Precis som att du kanske pratar tyska eller japanska, så används HTML, CSS och JavaScript för att prata med klienten.

Server

En värddator/server är ett system som tillgodoser andra system med data - såsom en eller flera klienter. Beroende på i vilket sammanhang vi använder termen så kan man syfta på en fysisk dator eller en programvara som körs.

För att något överhuvudtaget ska visas när du öppnar din browser, krävs en bra kommunikation mellan klienten och servern, och här kommer HTTP in i bilden!

Hyper Text Transfer Protocol (HTTP)

HTTP är ett protokoll (läs standarder/regler) som används av servern och klienten för att kommunicera och för att skicka dokument sinsemellan.

HTTP är baserat på ett request och ett response, där klienten generellt initierar kommunikationen (request) och där servern sedan svarar (response). Som bilden nedan visar är det ofta du som användare som triggar igång ett request, genom att du trycker på en länk eller besöker en ny webbsida:

Händelser på klienten triggar alltså igång en request. Tänk dig att du är inne på tjejerkodar.se och att du vill besöka bloggen. När du trycker på menyvalet “blogg”, skickar klienten en HTTP request till servern. Servern svarar sedan genom att skicka ett response i form av data (HTML, CSS och JavaScript), som sedan visas i ditt browserfönster. När denna data visas på din klient är du inne på bloggen!


Response


Jag misstänker att det inte är första gången ni ser ett 404 error, som bilden ovan visar? Den visar att något i kommunikation mellan klienten och servern har gått fel. I detta fall har klienten efterfrågat något som inte finns, exempelvis när jag försöker gå in på http://www.tjejerkodar.se/fel. 404 är statuskoden som berättar för oss exakt vad som gått fel - läs mer om andra typer av fel och statuskoder här: https://sv.wikipedia.org/wiki/Lista_över_HTTP...

Olika typer av requests

En request sker alltså när man som användare besöker en webbplats och t.ex. besöker en ny sida eller fyller i ett formulär och trycker på “submit”. Beroende på vilken typ av handling man som användare gör, skickas olika requests från klienten till servern. De två vanligaste är GET och POST.

GET - hämta data från servern

GET är den vanligaste request-metoden för att hämta HTML, bilder, CSS och/eller JavaScript som visas i browsern. Det mesta av datan som laddas i klienten är efterfrågad via en GET-metod. Varje gång vi besöker en sida/klickar på en länk görs en GET-request.

POST - skicka data till servern

POST används oftast i samband med formulär på internet. Tänk dig att du ska signa upp för att bli medlem på valfri webbplats, fyller i användarnamn och lösenord, och när du trycker på knappen ”submit” görs ett POST-anrop som gör att din data skickas från klienten till servern.

Vill du lära dig mer?

Lär dig om skillnaden på HTTP och HTTPS här på tjejerkodar: http://www.tjejerkodar.se/blogg/http-https

Om du vill läsa mer om hur du integrerar HTTP anrop i din kod, och en metod för att göra requests:: http://www.w3schools.com/xml/ajax_intro.asp

Om du vill läsa mer om HTTP headers, se exempel på hur de är uppbyggda och läsa mer om statuskoder: https://code.tutsplus.com/tutorials/http-headers-for-dummies--net-8039

Detta är ett inlägg i samarbete med Academy. Pauline gick deras utbildning på 12 veckor, lärde sig att programmera och jobbar nu som IT-konsult.

Om Academy

Idag saknas 30 000 personer med rätt IT-kompetens på den svenska arbetsmarknaden. Det vill vi ändra på och därför har vi startat Sveriges första skola inom Accelerated Learning, vi kallar den Academy. Vi ger 30 personer möjligheten att under 12 veckor med start i vår, bli vass på programmering i Java eller C#.NET. Academy är en kostnadsfri utbildning och vi tror så pass mycket på vårt koncept att vi erbjuder dig en tillsvidareanställning som IT-konsult efter avslutad utbildning. Låter detta intressant för dig? Läs mer eller gör deras placeringstest på http://academy.se/.

Pauline Thornberg

Efter att ha jobbat i diverse roller inom marknadsföring, klimatprojekt och integrationsprojekt hittade Pauline programmering och föll direkt.
Via organisationer som Tjejer Kodar, Pink Programming och Rails Girls fick hon stöd, råd och pepp från en massa coola tjejer som kodade. Med en dröm om att lära sig koda VR-appar hoppade hon på utbildningen hos Academy och arbetar idag som IT-konsult!