What's in a name - Een URL onder het ontleedmes

Omdat een URL door een computerprogramma zoals een Webbrowser gelezen moet kunnen worden, is de vorm van een URL strak voorgeschreven. Na een aanduiding van het protocol (meestal "http" voor Web-verkeer) komt de naam van de site, gevolgd door de lokatie van de informatie op die server.

Een voorbeeld

Een typische URL ziet er als volgt uit: http://www.example.com/onderwerp/item/. Op het eerste gezicht ziet dit er nogal cryptisch uit. Het ontleden van een URL is echter niet moeilijk.

Protocol

Helemaal vooraan de URL wordt aangegeven met welk protocol we te maken hebben. Meestal is dit HTTP, het HyperText Transfer Protocol (gebruikt op het WWW), maar ook systemen als FTP of Gopher zijn mogelijk. Na de naam van het protocol komt "://" om dit deel te scheiden van de rest van de URL.

Naam van de server

Het volgende onderdeel, tot aan de eerstvolgende ``/'', is de naam of het IP-adres van de server, eventueel vergezeld van een poortnummer als dit niet het normale nummer is.

Domeinnaam

Een hostnaam kan worden opgesplitst in segmenten, ook wel domeinen genaamd. Deze worden gescheiden door punten. Van rechts naar links gelezen bestaat een naam dan uit een twee- of drieletterig top-level domein, een second-level domein en een of meer subdomeinen.

Tweeletterige top-level domeinen zijn landencodes, drieletterige geven het soort bedrijf of instelling aan. Er wordt al enige tijd gewerkt aan een uitbreiding van de lijst, maar momenteel zijn de beschikbare domeinen:

Het second-level domein geeft (meestal) de naam van het bedrijf of de instelling die eigenaar is van het domein, zoals bijvoorbeeld philips.nl of ibm.com. Binnen het second-level domein mag de eigenaar zelf kiezen welke subdomeinen hij gebruikt. Gebruikelijk is om een subdomein ``www'' te hebben, de machine die zo heet fungeert dan als Webserver voor het bedrijf. Een ander veel gebruikt subdomein is ``mail'' voor de mailserver.

Opzoeken van adres

De client kan alleen maar een verbinding maken met de server als hij het IP adres er van heeft. Als de URL een naam bevat, moet de client eerst een zogeheten DNS lookup doen om dit adres te weten te komen. Daarna kan hij de verbinding maken en het gewenste document opvragen.

Lokatie van de informatie

Het laatste deel van de URL bevat de informatie die de server nodig heeft om de data te lokaliseren en aan de client te geven. Meestal is deze informatie van de vorm "directory/directory/bestand", waarbij de directory namen corresponderen met directories op de harde schijf van de server, maar dit is niet verplicht. Sites als Yahoo, Open Directory en Wikipedia gebruiken een database om hun webpagina's mee te genereren. Een tekst als "wiki/Octrooi" verwijst dus zeker niet naar een map op de harde schijf. Met deze tekst weet de Webserver van Wikipedia dat de pagina over octrooien moet worden gegenereerd uit de database.

Veel mensen denken dat de extensie van de bestandsnaam gebruikt wordt om het type van het bestand te achterhalen. Voor HTTP is dit niet zo. De server stuurt een speciale header mee (``Content-type'' geheten), waarin het type aangegeven staat. De meeste servers kijken echter wel naar de extensie van het bestand om te bepalen welk type ze meesturen. Het is dus mogelijk dat je een bestand genaamd ``nijntje.txt'' downloadt, wat je browser als plaatje afbeeldt.