HTML college: Absolute versus relatieve hyperlinks

Het verschil tussen absolute en relatieve hyperlinks zit in de URL waar de link naar verwijst. Laat die URL niets aan de fantasie van de browser over dan noem je het een absolute link. Neem als voorbeeld een URL waarbij je de naam van de server, het volledige pad en de naam van een HTML-file opgeeft. Dat is ondubbelzinnig bepaald en dus absoluut.

Geeft de URL de vrijheid om te wijzen naar een plaats die relatief is ten opzichte van de plaats waar je je bevindt dan noem je de link relatief. Hoe dat zit met de plaats waar je je bevindt gaan we nu behandelen. We beginnen met de plaats waar files zich in een file-systeem bevinden.

Directories en files

Wat zijn directories ? In de figuur zie je een boom van directories. In ieder knooppunt van die boom staat de naam van een directory. Een directory (ook wel folder of map genoemd) kun je zien als een map waarin je diverse files bewaart. Zo'n map heeft een naam waaraan je hem makkelijk kunt herkennen.
dirstructure
Als je met je browser een bepaalde file aan het bekijken bent dan ziet de browser de directory waarin die file staat als zijn basis. Vanuit die basis kun je alleen files en andere directories zien die volgens de boom uit het plaatje 'onder' die basis hangen. Zelfs de naam van de directory waarin je bent kun je niet zien, maar daar is een oplossing voor bedacht. Je kunt de 'basis'-directory aanwijzen met de naam ".", alleen een puntje dus. De directory die in de boom direkt boven de basis zit noem je ".." en daarmee kun je dus weer naar boven kijken. Wil je twee niveaus naar boven kijken, dan doe je dat met "../.." en wil je dan weer 1 niveau naar beneden dan plak je daar de naam van de directory die je naar beneden brengt achter, bijvoorbeeld "../../muziek". In de boom is dit aangegeven met rode en groene pijlen.

Voorbeelden van absolute en relatieve hyperlinks. Hier vind je drie directories met de volgende voorbeelden:


Het idee achter dit voorbeeld is dat je begint met een site over verre reizen. Later bedenk je dat het wel leuk is om ook wat over Europa te laten zien dus je maakt een directory 'reizen' en kopieert de hele directory verre_reizen daar naartoe. Naast verre_reizen maak je de nieuwe directory europa. Je vergeet echter dat de absolute hyperlinks in verre_reizen nog naar de oude plaats wijzen.
In de directory 'dit_is_beter' staat wat je beter had kunnen doen: relatieve links gebruiken. Je loopt tegen dit soort problemen aan als je je site of delen daarvan naar een nieuwe lokatie kopieert of verplaatst of wanneer je een site op je eigen PC hebt gemaakt en die vervolgens bij je Internet-provider wilt neerzetten. Relatieve hyperlinks herken je aan een of meer van de volgende kenmerken:

Hyperlink targets

Bij de <a> tag kun je een target attribuut opnemen waarmee je aangeeft waar het document waar je naar wijst afgebeeld zal worden.
In eerste instantie zal de browser kijken of er een window of frame is met de naam van het target en zo ja daarin het document afbeelden. Als er geen browser window is met die naam dan opent de browser een nieuw window en geeft het de naam van het target.

Er zijn ook enkele speciale targets: