# đïžâđšïž Om hur en server kommunicerar med en kleint
Vi mÄste förstÄ hur en server kommunicerar med en klient för att kunna utveckla bra web applikationer.
- Det Àr viktig för att webben ger oss mÄnga begrÀsningar.
- Att förstÄ dessa begrÀsningar fÄr oss att förstÄ varför webben Àr som den Àr.
- Genom att förstÄ lösningar pÄ dessa problem kan vi skapa bra applikationer.
â PĂ„ vilket sĂ€tt komuncerar en klient med en server?
Den modell som anvĂ€nds för webben kallas klient server modele("Clientâserver model")
- Klienten Àr ett program pÄ din lokala dator
- FrÄn din klient görs ett anrop("request") till servern.
- Detta besvara servern med ett svar("respons") till klienten.
- Klienten tar emot detta svar.
BegrÀsningar
Detta innebÀr att vi har begrÀsningar
- Server anropar alldrig klienten.
- NÀr server har svarat pÄ ett anrop Àr den klar.
- Det innebÀr att servern "glömmer bort" klienten.
- Fast i praktiken finns det mÄnga lösningar pÄ detta.
Anrop("request")
Klienten anropar servern. I anropen kan det finns mycket information till servern.
- Anropen innehÄller en URL
- Vilken typ av klient och dator
- Tid nÀr anropet gjordes.
- Var nÄgonstans svaret ska skickas.
- Vilken kryptering som ska anvÀns
- Data som klienten vill skicka till servern.
Svar("respons")
Server ger ett svar till klienten.
- Svaret innehÄller en header som ger information om svaret
- Data som server vill skicka till klienten.
Stateless
Stateless betyder att ett protokoll behandlar varje anrop separat.
- Detta gör att protokollet inte hjÀlper servern eller klienten att komma ihÄg vad som hÀnt.
- Men det finns finns flera metoder att komma runt de problem som dÄ skapas.
- Webbkakor("cookies") Àr ett sÀtt att komma runt detta.
- En webbkaka sparar nÀmligen lite data hos klienten.
Polling
Eftersom en server inte kan frÄga en klient nÄgot blir det problem om servern behöver sÀga nÄgot till klienten.
- Ett exempel pÄ detta skulle vara en chatt app.
- För om server fÄr besket av en klient att den vill prata med en anna klient.
- Hur gör den dÄ?
- En lösning Àr att alla klienter anropar server ofta, för dÄ kan server svara.
- Detta kallas "polling"
- Det Àr inget effektivt sÀtt att komunicera.