Hoppa till innehåll

Översikt

Vi inleder delkurs A med det som allt annat i kursen vilar på: vad som händer mellan webbläsaren och servern när någon öppnar en URL, och hur de talar med varandra. Information om veckans upplägg annonseras löpande i kursens Zulip-kanal.

Kursen introducerades tisdag 10 november under den schemalagda läraktiviteten, som delades med 1DV025. Mats och Mikael gick igenom kursplanen, upplägget, examinationerna och synen på AI-assistenter, och förklarade varför kursen använder Express. Därefter visade Mikael exemplet Nätverk och HTTP – en introduktion, med nätverk och HTTP i terminalen, som en övergång från veckans artiklar till egna försök. Klona det och prova kommandona själv. Missade du passet kan du se inspelningen nedan.

1:24:11 · Presentation

Veckans teori finns i två artiklar, som båda avslutas med övningar och lösningsförslag. Läs dem i ordning; den andra bygger på den första. Exemplet efter dem är helt frivilligt.

  1. Nätverk – vad som händer när du öppnar en URL: TCP/IP-modellen, IP-adresser, portar, TCP och DNS, och vad du som webbprogrammerare behöver veta om dem.

  2. HTTP – protokollet i detalj: förfrågningar och svar, metoder, statuskoder, headers, cookies och HTTPS. Där skriver du också din första webbserver.

  3. Exemplet HTTP för hand bygger en webbserver direkt på TCP, utan Nodes HTTP-modul, i sex steg. Varje byte i svaret står utskriven i din kod, från förfrågningsraden via statuskoder och cookies till samma server med node:http. Här ser du att HTTP är text som skickas över en TCP-anslutning.

Handledningspassen i kursen delas mellan denna kurs och 1DV025. Det betyder att det är fritt fram att ställa frågor på båda kurserna vid dessa tillfällen. Därför blir det också naturligt nu i början att stor fokus på dessa tillfällen hamnar på de delar som rör den parallella kursen.

Här är ett antal frågor som du kan försöka besvara och diskutera tillsammans med din AI-assistent. Tveka inte att lyfta någon av frågorna till handledningen för att fortsätta diskussionen med lärare och studiekamrater.

Frågor att diskutera med din AI-assistent
  1. Ge mig en kort och översiktlig förklaring till TCP/IP.
  2. Finns det svagheter och styrkor i protokollen?
  3. Vad innebär OSI modellen?
  4. Vad är ARP?
  5. Vad är DNS?
  6. Är DNS sårbart?
  7. Hur kan man, via terminalen och kommando, slå upp ett domännamn och mappa det mot en ip-adress?
  8. Förklara kort hur protokollet HTTP fungerar.
  9. Vad innebär HEADER och BODY i en förfrågan?
  10. Vilka metoder finns det, förutom GET och POST?

Här är en utskrift från hur det såg ut när Mikael diskuterade ovan frågor med sin AI-assistent Ajj.

Här följer tips till hur du kan prioritera bland kursmaterialet för att komma igång med veckan.

  1. Skumma igenom kursens innehåll och upplägg för att skaffa dig en uppfattning om vad det handlar om.
  2. Gå igenom Nätverk med övningar. Fokusera på helheten, de fyra stegen från URL till svar, snarare än på detaljerna.
  3. Lägg mest tid på HTTP. Det är protokollet du kommer att arbeta med resten av kursen, och övningarna med den egna servern är en förberedelse för allt du bygger senare.
CCBY