Seminarium 3 \- Internet
Information om hur begreppsseminarierna går till hittar du på sidan Seminarier & Rapporter.
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
Obligatoriskt förberedelsematerial
- 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.
- Lunell (2011). Kap 25.1 Internets struktur och funktion.
- Mozilla. (2021, 21 maj). How the Web works. MDN Web Docs. Hämtad 2021-07-08 från https://developer.mozilla.org/en-US/docs/Learn/Getting_started_with_the_web/How_the_Web_works
- URL (2021, 1 april). I engelska Wikipedia. https://en.wikipedia.org/w/index.php?title=URL&oldid=1015459310
- Query string (2021, 3 juli). I engelska Wikipedia. https://en.wikipedia.org/w/index.php?title=Query_string&oldid=1031686388
Extramaterial (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.
- The Internet: IP Addresses & DNS. Code.org (2015). [7 min]. Denna video ger en övergripande bild av vad internet är; IP-protokollet, DNS uppslagning.
- The Internet: Packets, Routing & Reliability. Code.org (2015). [6 min]. En video om hur data skickas över som paket med hjälp av TCP/IP.
- The World Wide Web: Crash Course Computer Science #30. CrashCourse (2017). [12 min]. Denna video ger en överblick av hur webben fungerar och dess historia; bl.a. en introduktion till HTTP-protokollet, webbsidor med HTML, och vad webbläsare gör.
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?
Entry Ticket
Efter att du gått igenom förberedelsematerialet kan du fylla i din Entry Ticket här
Sidansvarig: Johan Falkenjack
Senast uppdaterad: 2024-07-26