URL

En URL (från engelskan: Uniform Resource Locator) är den teckensträng som identifierar en viss resurs på internet, till exempel en webbsida (varvid URL:n kan kallas webbadress): http://www.example.org/nyheter/dagens.html. Webbadressen är en del av infrastrukturen för World Wide Web och gör en resurs tillgänglig för en webbläsare. Tekniken skapades av Tim Berners-Lee och presenterades 1989. URL:en är konstruerad för att peka ut resurser på Internet (eller t.ex. ett intranät) och ange hur de kan hittas. En URL kan även användas för att hitta en fil på den egna datorn. Jämför URI ("Uniform Resource Identifier").

Adressens element 
En webbadress innehåller ett antal element med mer eller mindre väldefinierad funktion. Beroende på det protokoll som används (och definieras först i adressen) kan tolkningen av delarna skilja och vissa delar vara överflödiga. Vissa av delarna tolkas av allmän internet-programvara, vissa av servern och vissa av webbläsaren.

Exempelvis URL:en http://sv.wikipedia.org:80/w/index.php?title=Dator&action=edit#Historia består av sex olika delar som var och en visar olika information som är nödvändig för att hitta viss information på Internet.

 http: talar om vilket protokoll (språk) som skall användas. I detta fall används protokollet HTTP (det vanligaste på WWW). Allt som följer efter : beror på vilket protokoll som man har angett i URL:en. Andra vanliga protokoll är FTP (ftp://användarnamn:lösenord@domain/sökväg/fil) eller file:// för en lokal fil. 
Protokollet kan också avgöra vilket program datorn ska använda för att öppna länken, till exempel öppnas irc: i ens ircklient, mailto: i ens E-postklient och dchub: i Direct Connect. 
 //sv.wikipedia.org talar om vilken domän (dator) vi ska leta oss fram till. Genom domännamnssystemet omvandlas domännamnet till en IP-adress (IP-adressen kan också ges direkt). I det ursprungliga HTTP-protokollet var detta delens enda betydelse, men med tanke på webbhotell och virtuella domäner skickas numera domännamnet också till servern.
 :80 talar om vilken port i mottagardatorn vi ska använda. TCP-port 80 som används i det här fallet är standard vid kommunikation med en HTTP-server och kunde därför utelämnas.
 /w/index.php berättar för servern vilken resurs vi vill komma åt, ofta vilken fil vi söker på serverdatorn. Ofta består denna del av ett filnamn, inklusive dess läge i filträdet relativt någon för webbservern definierad baskatalog. Snedstrecket avskiljer element i en hierarki, men i övrigt är tolkningen beroende på webbserverns inställningar (istället för en fil kan här till exempel syftas på en post i en databas).
 ?title=Dator&action=edit är extra information vi ska skicka till Wikipedias server, ofta parametrar till ett datorprogram som (klart sagt eller underförstått) anges genom filnamnet. I det här fallet ska vi gå till artikeln Dator och redigera den (action=edit). 
 #Historia talar om att webbläsaren ska hoppa till stycket Historia. Denna del skickas inte till webbservern utan tolkas lokalt med hjälp av ankare som ingår i webbsidans HTML-kod.

URL-design 
Den del av en webbadressen som uppfattas som sökstig, filnamn och parametrar (”/w/index.php?title=Dator&action=edit”) i exemplet ovan tolkas av webbservern och behöver alltså inte betyda någonting visst. Det är ändå praxis att tolka den på vissa sätt och det är en fördel om webbadresserna konstrueras så att både administratörer och besökare kan dra slutsatser om webbplatsens logiska struktur, möjligen också dess fysiska struktur, utgående från dem.

Ett vanligt sätt att använda adressen är att låta den första delen vara en sökstig från en basadress till den fil som skall visas, till ett skript (datorprogram) som skall generera den önskade sidan eller liknande. Vilken basadress som skall användas beror ofta på den första delen av adressen. En eventuell parameterdel ges som indata åt programmet. En sådan struktur är lätt att tolka för dem som arbetar med webbservern. En annan modell är att låta adressen avspegla en logisk struktur, oberoende av hur filerna ligger på datorn. I bästa fall sammanfaller de båda i rätt stor utsträckning.

Då allt fler webbplatser använder databaser som inte är beroende av filträdet på datorns hårddisk, utan istället använder nycklar, är det rätt vanligt att adressen är en kod utan betydelse annat än inne i databasen. En sådan adress är svår att komma ihåg eller ens teckna ner och minsta misstag leder till att rätt resurs inte hittas. Därmed tvingas användaren ofta söka rätt på den önskade resursen med början från webbplatsens huvudsida, vilket ibland är avsikten.

Ett speciellt problem är då webbplatsen omorganiseras eller serverprogramvaran byts ut. Ofta är resultatet länkröta, att adresser till webbplatsen i "bokmärken" och runt kring Internet upphör att fungera. Genom att adresserna ursprungligen valts enligt ett logiskt schema gör man det enklare att omdirigera dem till rätt sida efter ändringen.

URL-kodning 
Engelska bokstäver A–Z och a–z, siffror 0–9 samt tecknen - _ . ~ kan användas fritt som de är i en URL. Övriga tecken i en URL måste URL-kodas för att överföras korrekt. Det gäller dels reserverade tecken som har speciell betydelse i en URL, såsom & # / ? +, dels alla övriga tecken. Vill man använda dessa (t.ex. för att de ingår i ett filnamn) måste de kodas med ett procenttecken och två hexadecimala siffror. För domännamnet gäller skilda regler för kodningen (se "internationella domännamn", IDN, och punycode).

För binära värden, som inte är text, kodar man byte för byte. För text, vilket är det vanligaste (mera specifikt är det oftast filnamn) måste man koda tecknen enligt rätt teckenkodning, så att servern hittar filen ifråga. Enligt den standard som gällt sedan 2005 använder man Unicode kodad med UTF-8. Det innebär en byte för ASCII-tecken (7-bits) och 2 bytes för (nästan alla) övriga latinska och kyrilliska tecken, och tre bytes för (nästan alla) övriga tecken. Sedan kodas varje byte med % och två hexadecimala siffror. Normalt sköts kodningen automatiskt av webbläsaren, åtminstone nyare webbläsare.

Servrar kan vara konfigurerade att använda en annan teckentabell, till exempel Latin-1. I så fall bör webbadressen alltid skrivas med %-kodning. Traditionellt undviker man helt enkelt tecken utöver US-ASCII, till exempel å,ä,ö. För att säkerställa en korrekt överföring av adressens tecken anges de enligt följande exempel:

När det gäller själva domännamnet används en annan nyare och mer kompakt standard, Punycode

Källor

Internet
Standarder och konventioner