Du är här: keryx/artikel/34. Hoppa till huvudinnehållet (h) Sidans menysektion:
Keryx logotype

Give me that homepage

Om denna artikel

I denna artikel jämförs hur man hämtar en hemsida med att hämta medicin på apoteket. Så illustreras http, dns och tcp/ip.

Publicerad: 2005-06-16

Uppdaterad: 2005-06-16

 

Hur går det till när en hemsida skickas till en webbläsare? I denna artikel skall jag försöka förklara det utan att förutsätta att du som läser kan några av de tekniska termerna. Låt oss försöka förstå processen genom en liknelse.

Att gå till apoteket och hämta ut ett recept kan vara enkelt, men tänk efter hur många steg det egentligen innebär. Du skall veta var det finns, ta dig dit, lämna in receptet, få medicinen, betala och ta dig hem igen. På ett liknande sätt sker kommunikationen mellan en webbläsare och en webbserver i flera steg.

Hitta apoteket

Det finns i huvudsak tre sätt att tala om för en webbläsare att man vill titta på en viss sida: Du kan skriva in dess adress manuellt, du kan hämta adressen från ett bokmärke och du kan klicka på en länk. Oavsett hur du gjort det, så består adressen av två delar. Den första är adressen till själva servern, den andra är vilken specifik sida du vill se.

Tills vidare jämför vi detta med att gå till Apoteket Kronan och köpa astmamedicinen Pulmicort.

Man kan jämföra den första delen med webbadressen till apotekslokalen och den andra med namnet på den medicin man vill hämta ut. Exempelvis adressen http://keryx.se/diverse/kodarattexempelfil.php faller isär i dessa flera delar:

  1. keryx.se motsvarar Apoteket Kronan
  2. diverse motsvarar hyllan för astmamedicin
  3. kodarattexempelfil.php motsvarar medlet Pulmicort

Tills vidare struntar vi bokstäverna http i början av adressen.

Apoteket Kronan är namnet på apoteket. På samma sätt är keryx.se namnet på min webbserver. För att ta sig till apoteket måste man veta dess gatuadress. På motsvarande vis måste man kunna veta ip-adressen till servern med namnet keryx.se. Allt på Internet har en ip-adress, och för att matcha datornamn med ip-adresser så använder man DNS, som utläses Domain Name System.

Vi kan jämföra detta med att man tar fram Gula Sidorna och letar efter Apoteket Kronan för att finna att det återfinns på adressen Storgatan 12. Keryx byter under sommaren 2005 webbhotell och det nya ip-numret blir 66.118.191.15.

Webbläsaren frågar alltså DNS-servern vad för ip-nummer som motsvarar keryx.se och får svaret 66.118.191.15.

Ta sig till apoteket

Vår fiktive astmatiker får nu sätta sig i bilen och börja köra till Storgatan 12. På vägen dit kommer han först att köra på sin egen garageuppfart, ut på den lilla gatan i villakvarteret, ut på landsvägen, in på gatan som leder mot centrum, genom fler gator och korsningar tills han till slut parkerar på Storgatan 12. Vid varje korsning har han bara ett fåtal alternativa vägar att välja på. Tillsammans kan vägkorsningarna ta honom vart som helst i hela världen.

Detta motsvaras av att ett datapaket lämnar datorn via modem eller nätverksport, transporten till Internetleverantören motsvarar garageuppfarten, alla övriga korsningar motsvarar routrar på vägen till målet. Varje router behöver inte ha koll på så mycket, bara om datapaketet skall åt höger eller åt vänster. Ibland tar de fel, men då kan paketet ända ta sig fram via en annan väg.

Det är alltså en dators ip-nummer som gör att den kan hittas.

Rätt dörr

Storgatan 12 visade sig vara ett affärskomplex. Här finns affärer och restauranger och en massa annat. Vår fiktive astmatiker tar nu hjälp av det faktum att affärerna skyltar med sina namn, så att han på det viset går till rätt dörr.

Internetservrar erbjuder på ett motsvarande sätt ofta flera tjänster. Det kan vara mejl, FTP, SSH eller något annat. IP-protokollet lämnar nu över ansvaret att hitta rätt dörr till TCP-protokollet. TCP utläses Transport Control Protocol och i det finns olika s.k. portnummer. Vanligtvis återfinns webbservern på port 80.

Lämna över receptet

OK, vi är inne på apoteket. Nu skall vi ha med oss medicinen hem. Tänk dig att webbservern är som apotekaren man nu talar med. Man går fram och när apotekaren säger Vad får det lov att vara, så svarar man Hej, jag vill ha Pulmicort, tack och räcker över receptet.

Webbservrar talar inte svenska. Deras språk är http - Hyper Text Transport Protocol. Med http så får servern reda på vad webbläsaren vill ha, men den talar också om för den exakt vad den fått.

När man hämtar ut medicin på recept, så sätter klistras det ofta fast instruktioner på asken: Mot andningsbesvär, intages två gånger dagligen eller vid behov. Dessa instruktioner på asken motsvaras i vår jämförelse av http-huvudet, i svaret.

http-huvudet föregår det egentliga svaret och säger alltså vad man fått och från vem man fått det och en del annat som kan vara bra att veta (om man är en webbläsare).

Dynamiska sidor

Min berättelse hittills kanske retat vän av apoteksordning. Det är sällan man får tala med en apotekare. I själva verket brukar det vara en receptarie man möter i kassan. Men förr i tiden var det ju ofta så att det recept man skulle hämta ut inte kunde expedieras innan medicinen gjorts i ordning manuellt.

Idag är de flesta webbsajter dynamiska, dvs. det man frågar efter framställs i samma ögonblick som det efterfrågas. En webbserver hämtar ingredienserna på olika ställen, såsom databaser och XML-dokument, och sammanställer det som en hemsida.

Till sin hjälp har webbservern tilläggstekniker. Den vanligaste heter php, följt av asp och jsp. Detta är helt enkelt moduler som kan köra skript - en slags datorprogram - vars resultat är det som skall skickas.

Åk hem igen

När han fått sin medicin, så sätter sig vår fiktive astmatiker i bilen och åker hem. Den viktigaste skillnaden mellan att köra en bil fram och tillbaka och att skicka data över Internet, är att bilen har en förare som fattar beslut i korsningarna. På Internet är det korsningen som avgör vart fordonet tar vägen. Mer som en järnväg alltså. Tåget måste följa skenorna och det är inte lokföraren som ställer om växlarna.

En annan skillnad är att om det som skall skickas är så stort att det inte får plats i ett paket, så skickas varje paket ut för sig - i var sin egen bil så att säga - och det är inte säkert att de kommer fram i rätt ordning. Därför numreras paketen så att de kan sättas ihop rätt hos mottagaren.

TCP-protokollet står för denna numrering och andra kontroller. På den mottagande datorn skickas nu data vidare till webbläsaren. Den i sin tur granskar http-huvudet. Liksom en ask medicin kan innehålla instruktioner om hur medicinen skall tas (typ stolpiller skall inte sväljas), så är nu http-huvudet instruktioner till webbläsaren hur den skall behandla svaret.

En sak som den måste veta är exakt vad slags information den fått. Nollor och ettor kan ju utgöra bilder, ljud, video, animationer eller allt möjligt annat, såväl som html-kod.

Artikelinfo
Publicerad:2005-06-16 08:59     Författare:itpastorn
Uppdaterad:2005-06-16 08:59     Ämne:Webbteknik
Uppdaterad: 2005-06-16 08:59    © Keryx