URL-grunder

Från Webbling
Version från den 23 augusti 2014 kl. 18.34 av PGJ (diskussion | bidrag) (Skapade sidan med 'För att kunna använda HTML fullt ut, måste vi lära oss hur man kan länka till andra resurser. Innan vi kan göra det måste vi titta på hur man adresserar olika saker p...')
(skillnad) ← Äldre version | Nuvarande version (skillnad) | Nyare version → (skillnad)
Hoppa till: navigering, sök

För att kunna använda HTML fullt ut, måste vi lära oss hur man kan länka till andra resurser. Innan vi kan göra det måste vi titta på hur man adresserar olika saker på nätet. Hur talar man om för webbläsaren var den ska hitta saker och ting?

Du har säkerligen sett URL:er förut. Det är ”vanliga” webbadresser. Men du kanske inte funderat så mycket på hur de fungerar. URL är en förkortning för ”Uniform Resource Locator”, det är alltså ett enhetligt sätt att finna resurser. En URL kan ange mycket information, såsom hur man ska hämta resursen, på vilken server den finns, osv. Dock går det mesta att utelämna om man inte behöver det.

En vanlig, enkel URL kan se ut så här: http://webbling.se/exempel.html

Vi tittar nu på de olika delarna som ingår i en URL.

URL:ens uppbyggnad

Protokoll/schema

Den första delen i denna URL, ”http:”, talar om vilket protokoll/schema som ska användas för att hämta resursen i fråga. I detta fall är det HTTP, eller ”HyperText Transfer Protokoll” som ska användas. Detta är ett speciellt protokoll för dataöverföring som skapades av Tim Berners-Lee, webbens fader. Protokollet har varit minst lika viktigt för webben som HTML. HTTP-protokollet är i grunden ett relativt enkelt protokoll, men här går vi inte in i detalj hur det fungerar. Protokollet har dock en del svagheter, t.ex. uppfanns det långt innan alla dagens mobila enheter uppfunnits. Vilket gör att det är relativt ineffektivt för mobilt användande (det akilleshälen har även vissa delar av HTML).

Auktoritet/server

Nästa del av URL:en, ”webbling.se”, anger vilken auktoritet som kan tillhandahålla resursen. Här talar vi elt enkelt om för webbläsaren på vilken server resursen finns att hämta. Det som anges här är ett så kallat domännamn, vilket är en typ av internet-adress.

Domännamn och DNS

Domännamn är en typ av internet-adresser som måste översättas till en numerisk IP-adress innan man kan hämta resursen. För det används DNS, ”Domain Name Server”, som kan ses som internets telefonkatalog (om nu nån minns vad en telefonkatalog är). För de flesta är det mycket enklare att komma ihåg ett domännamn, än en IP-adress. Webblings IP-adress är t.ex. 82.196.122.70, vilket är nog så krångligt att komma ihåg. Se artikeln om domännamn för mer information om dessa. Självklart skulle vi kunna skrivit IP-adressen i URL:en och den hade då sett ut så här:

http://82.196.122.70/exempel.html

Vilket kanske inte är lika lättläst eller lättförståeligt som när man använder ett domännamn. Det är i alla fall mycket svårare att komma ihåg än ett namn.

Sökväg

Sista delen i vår exempel-URL, ”/exempel.html”, talar om vilken resurs på servern vi är ute efter. Det är en sökväg, som talar om för servern hur den ska finna resursen, samt vad den heter. Det första ”/”-tecknet talar om att resursen finns i webbserverns rot. En rot i ett filsystem är en logisk adress under vilken kataloger och filer kan finnas. Kör du på Windows är t.ex. ”C:” en rot, medan om du kör Linux eller Mac OSX så pekar ”/” på toppen av ditt filsystem. Dock behöver inte en webbservers sökvägar vara identiska med sökvägarna i det filsystem som används på servern (vilket är tur, för det skulle kunna orsaka massvis med säkerhetshål). Istället pekar man i serverkonfigurationen ut en specifik katalog som webb-rot, i vilken man sen lägger sina webbresurser. När vi begär en resurs som ligger under ”/”, säger vi alltså att webbservern ska titta i toppen på den filkatalog som konfigurerats som webb-rot.

I vårt exempel har vi angett att vi vill ha en resurs som heter ”exempel.html”. Detta är antagligen en fil som ligger i den angivna katalogen. Om filen existerar kommer servern att skicka den till oss, om den inte existerar kommer vi att få ett felmeddelande.

Mer om sökvägar

Det finns flera specialtecken som kan anges i sökvägar. Vi har redan stött på ”/” använt som att referera till en rot. Men tecknet kan ha flera olika betydelser.

Absoluta sökvägar

Om ”/”-tecknet sitter först i sökvägen, är det en indikation på att sökvägen påbörjas i roten på filträdet. Sökvägen som anges är absolut, dvs den utgår ifrån en bestämd grundposition. Tecknet kan även förekomma mellan olika katalognamn, t.ex.

/a/b/c/test.html

Ovanstående exempel börjar att ”titta” i roten, går sedan ned i katalogen med namnet ”a”, därefter i katalogen ”b”, därefter i ”c” och där försöker man få tillgång till filen ”test.html”. Om en del av sökvägen åtföljs av ett ”/”-tecken, kan man alltså utgå ifrån att det handlar om en katalog. I exemplet ovan är alltså; a, b och c olika kataloger. Dessa bildar en hierarki, där c ligger inuti b, vilken i sin tur ligger inuti katalogen a.

Relativa sökvägar

Andra möjliga specialtecken i sökvägar är ”.” och ”..”. Dessa används för att ange relativa sökvägar.

Som hörs på namnet utgår en relativ sökväg ifrån en känd position och berättar hur man kommer ifrån den positionen till en annan position. När det gäller URL:er är oftast startpositionen samma plats varifrån man hämtat dokumentet som innehåller URL:en. Låt oss säga att vi hämtat hem ett dokumentet som återfanns på http://webbling.se/exempel.html. I filen ”exempel.html” kan det nu finnas länkar som är relativa. Dessa länkar är då relativa till den katalog där ”exempel.html” återfinns, i detta fallet ”/” eller rot-katalogen. Om vi däremot har hämtat hem dokumentet i vårt andra exempel ”/a/b/c/test.html”, så kommer de relativa länkarna att utgå ifrån katalogen ”/a/b/c/”. Det vill säga samma underkatalog där vi hittade resursen ”test.html”.

.

Det enklaste tecknet för relativa sökvägar är en enkelpunkt; ”.”. Detta betyder helt enkelt samma katalog som vi är relativa mot. Att ange; ”./bild.jpg”, betyder att vi letar efter resursen ”bild.jpg” i samma katalog som vår sida finns. Detta är egentligen helt onödig, man hade lika gärna kunnat skriva ”bild.jpg” utan punkten, för webbservern skulle i detta fall ändå titta i samma katalog. Det finns ingen bra anledning att använda ”.” i dina URL:er, men om någon mot förmodan skulle göra det, är det förstås bra att förstå vad som menas...

..

Den vanligaste varianten av relativa sökvägar baserar sig kring dubbelpunkt; ”..”. Punkterna betyder att man ska gå upp en katalog. Befinner man sig i ”/a/b/c”, hamnar man alltså i katalogen ”/a/b”. Låt oss säga att den sida vi hämtat hem ligger i ”/a/b/c/” och i den refererar vi till en bild på följande vis ”../gfx/bild.jpg”. Vi säger då till webbläsaren att den ska efterfråga en resurs som ligger ett snäpp upp (dvs i ”/a/b”), i en annan underkatalog som heter ”gfx”. Absolutreferensen skulle bli ”/a/b/gfx/bild.jpg”.

När du namnger filer och kataloger bör du ha i åtanke att många webbservrar är känsliga för versaler och gemena i filnamnen (dvs, stora respektive små bokstäver). Det rör sig främst om Linux och OSX-maskiner. I Windows-världen spelar versaler/gemena ingen roll. Detta kan förstås skapa problem, till exempel; Du har två filer ”Fil.html” och ”fil.html”, på ett Linux-system skulle detta vara olika filer. Men om du skulle kopiera över dessa filer till ett Windows-system, då skulle den ena filen skrivas över av den andra (efter en varning iofs). Här är det en bra idé att försöka hålla sig till att enbart använda gemener när du skapa webbinnehåll. Det gör det mycket enklare att komma ihåg hur man ska komma åt en resurs.