Göm meny
Gäller för: HT23

Begreppsseminarium 3 - Internet

Information om hur begreppsseminarierna går till hittar du på sidan Begreppsseminarier. Målet med detta begreppsseminarium är att du ska få

  • förståelse för hur internet är uppbyggt och hur information skickas över internet
  • förståelse för vad ett protokoll är och hur HTTP-protokollet används av t.ex. webbläsaren för att hämta webbsidor
  • förståelse för den syntax som används för URL:er samt hur parametrar kan skickas till webbtjänster frågesträngen (query string) hos en URL
  • förståelse vad en server och en klient är och vilken relation de har till varandra

Innan seminariet

  1. Titta på på videos under Obligatoriskt förberedelsematerial.
  2. Gör minst en av prova-på-övningarna.
  3. Fyll i Entry Ticket 3 senast kl. 12.00 dagen innan seminariet.

Under seminariet

Börja seminariet med att (rätt så raskt) bestämma er för vad ni vill hinna med på seminariet. T.ex. “Vi vill hinna med minst att diskutera fråga 1 och 2, samt prova-på-uppgiften som handlade om X”.

Förslag på diskussionsfrågor hittar ni under Diskussionsfrågor till seminariet. Du kan även ta med dig egna frågor du vill diskutera!

Efter seminariet

Efter seminariet ska följande uppgifter utföras. Se även Deadlines.

  1. Skriv två frågor om det obligatoriska materialet som hör ihop med seminariet i PeerWise. Se till att du tilldelar frågan rätt ämne (topic). Se Författa frågor.
  2. Svara på frågor som andra skrivit i PeerWise. Till deadline i slutet av Tema 3 ska du ha svarat på 15 frågor per ämne (Datorn, Filer, Internet). Du ska också kommentera 15 frågor som du svarat på (vilket ämne spelar ingen roll). Svara inte på dina egna frågor. Se Svara och kommentera frågor.

Komplettering

Om du missar ett begreppsseminarium, komplettera genom att skicka in din entry ticket i efterhand (om du inte redan gjort det), samt skicka in en 1-2 sidor lång diskussion av valfritt antal av de diskussionsfrågor som hör ihop med seminariet (finns på respektive Begrepsseminariesida). Diskussionen skickas in via inlämningar i Lisam.

Diskussionen ska referera till det obligatoriska materialet. Referenser skrivs enligt en standard, t.ex. APA eller Harvard.

OBS! Se till att du har med namn, liuid, kurskod, datum och passande titel i PDF:en du lämnar in. Döp filen till begreppssemX-komplettering-liuid.pdf (erätt X med siffran för aktuellt begreppsseminarie).

Förberedelsematerial

Titta på de videosarna som tillhör det obligatoriska förberedelsematerialet. De hänvisade avsnitten i kurslitteraturen behandlar samma innehåll som videosarna. Gör sedan minst en av prova-på-övningarna.

Obligatoriskt material

  • The Internet: Crash Course Computer Science #29. CrashCourse (2017). [12 min]. Syftet med denna video är att ge en överblick och övergripande förståelse för hur data skickas över internet med hjälp av UDP och TCP/IP, hur domännamn översätts till IP-adresser och vilka lager av abstraktion som finns för nätverk och nätverkstrafik.
  • What happens when you type a URL into your browser?. ByteByteGo (2022). [5 min]. Översikt över de steg som utförs när man besöker en URL via t.ex. en webbläsare.
  • The Internet: HTTP & HTML. Code.org (2015). [7 min]. Syftet med denna video är att ge introduktion till HTTP-protokollet, hur webbläsare hämtar innehåll från webservrar och vad det innehållet är. Visst överlapp med den tidigare videon, men denna video tar även upp vad innehållet på en webbsida består av.
  • Parts of the URL. Steve Griffith (2018). [7 min]. Syftet med denna video är att hjälpa er förstå syntaxen för en URL. Anmärkningar: I videon används termen “superdomain”, dock är den korrekta termen “top level domain”; och för det som benämns som “hash” är den korrekta termen “fragment”.
  • Query Strings and Parameters explained - Marketers Tech Knowledge. MeasureSchool (2018). [11 min]. Syftet med denna video är att visa hur frågesträngar i URL:er används för marknadsföringsinformation. Mer generellt så är det ett exempel på den syntax som används för att lägga till parametrar och värden till en URL.
  • What is a REST API?. Programming with Mosh (2018). [6 min]. Syftet med videon är att introducera hur URL:er och HTTP kan användas för att interagera med ett REST API.
  • REST API concepts and examples. WebConcepts (2014). [9 min]. Syftet med denna video är att visa konkreta exempel på hur REST API:n kan användas i webbläsaren. Anmärkning: Då denna video har några år på nacken, så fungerar inte de exempel som gås igenom i videon. Exemplena är dock fortfarande giltiga även om de inte går att utföra på samma sätt som i videon.

Nedan hittar ni parallellt material om ni vill läsa om det som tas upp i videosarna på egen hand. De kan också vara till hjälp när ni ska skriva era frågor i PeerWise.

Extra material (icke-obligatoriskt)

  • Computer Networks: Crash Course Computer Science #28. CrashCourse (2017). [12 min]. Denna video introducerar datornätverk och olika nätverksbegrepp.
  • Python: Using Web APIs Tutorial | HTTP Requests. Joe James (2019). [13 min]. Denna video visar en genomgång av hur Python kan användas för att hämta JSON data från webben via ett REST-API och sedan göra datat tillgängligt som ett dictionary i Python.
  • Automate Spotify with Python. Bukola (2020). [10 min]. Denna video går igenom hur Python kan användas för att automatisera skapandet av en spellista i Spotify baserat på “like:ade” videos på YouTube. Anmärkningar: Det klassnamn som videoskaparen använder är mindre bra (klassnamn ska vara substantivlika) och i videon kallar videoskaparen felaktigt klassens metoder för “funktioner”.

Innehållet i nedanstående tre videos är väldigt likt de två första som ingår i det obligatoriska materialet, men det kan kanske hjälpa att höra samma sak med andra ord.

Prova på-övningar: URL:er och webben

Gör minst en av de nedanstående undersökningarna på egen hand eller tillsammans i din pargrupp innan seminariet, för att diskuteras dem på seminariet.

  • I beskrivningen (på Youtube, inte denna sida) till den första Youtube-videon beskrivs hur du kan köra traceroute från din dator (om du sitter på macOS eller Linux kan det hjälpa att lägga till flaggan -I om du inte kommer fram). Prova att köra kommandot. Vad betyder resultaten? Om du vill kan du använda https://stefansundin.github.io/traceroute-mapper/ för att visa IP-adresserna på en karta.
  • I Firefox eller Chrome kan du högerklicka på en webbsida och välja “inspektera”. Du kan nu redigera HTML-koden för webbsidan. När du laddar om webbsidan är ändringarna borta, varför?
  • Hitta en webbtjänst (t.ex. sökmotor, eller en onlinebutik) som ger dig en URL med en Query String med parametrar, t.ex. när du söker efter en produkt. Undersök den URL:en och prova att ändra eller ta bort olika delar och se vad du får för resultat. Ta med dig dina fynd till seminariet.
  • Hitta en URL från något marknadsföringsepost som inkluderar spårningsinformation i URL:en. Undersök vad du kan ta bort från URL:en och fortfarande hamna på målsidan.

Diskussionsfrågor

Nedan är förslag på diskussionsfrågor till seminariet. Ni får självklart även komma med egna förslag.

  • På vilka olika sätt kan två olika frågesträngar (query strings) leda till samma sida? Hitta exempel och diskutera dem.
  • Finns det likheter mellan URL:er och sökvägar i ett filsystem? Vilka? Vad beror de på?
  • Finns det likheter mellan användning av URL:er och användning av kommandon i terminalen? Eller av användning av funktioner i Python?
  • Om du skriver en URL som du vet fungerar i din webbläsare, t.ex. https://www.liu.se och webbläsaren säger att den inte kan hitta den webbplatsen trots att du t.ex. kan komma åt https://google.com vad skulle anledningen kunna vara?
  • Vad skulle en kogvetare kunna ha för nytta av att använda REST API-er?

Sidansvarig: Johan Falkenjack
Senast uppdaterad: 2023-09-22