Instruktioner

  • p - Presentation
  • f - HelskĂ€rms presentation

Klient-server kommunikation

# đŸ‘ïžâ€đŸ—šïž 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.

Client server Model

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.

Kunde tyvÀrr inte hitta nÄgon bra översÀttning till svenska.

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.