Een Uniform Resource Locator (afgekort URL) is een gestructureerde naam die verwijst naar gegevens. Voorbeelden zijn het unieke adres waarmee de locatie van een webpagina op internet wordt aangegeven of een e-mailadres. In de naam is alle informatie opgenomen over de benodigde techniek om de betreffende gegevens te bereiken. De URL is een bijzondere vorm van de URI.
Opbouw
URL's zijn opgebouwd uit de volgende onderdelen:
- Een protocol.
- Authenticatiegegevens, zoals een gebruikersnaam en wachtwoord.
- Een domeinnaam.
- Een poortnummer.
- Een padnaam.
- Een zogenaamde querystring.
- Een zogenaamde fragmentidentifier.
De opbouw van een URL is voor de meeste protocollen als volgt:
Protocol
Het protocol wordt genoteerd in de vorm van een korte protocolaanduiding (vaak een afkorting) gevolgd door een dubbele punt. URL's kunnen hierdoor voor verschillende protocollen (en dus verschillende doeleinden) gebruikt worden:
file |
'gewone' bestandssystemen |
http |
Hypertext Transfer Protocol |
https |
HTTPS (HTTP over een beveiligde verbinding) |
ftp |
file transfer protocol |
irc |
Internet Relay Chat |
mailto |
|
gopher |
Gopher |
feed |
Webfeeds |
Autoriteit
De autoriteit is de bron van de informatiebron, bijvoorbeeld een host van een website.
Deze wordt genoteerd in de vorm //gebruikersnaam:wachtwoord@domein:poort
In de meeste gevallen zijn gebruikersnaam, wachtwoord en poortnummer niet nodig, waardoor het @-teken
en de dubbele punten meestal niet in de URL terug te vinden zijn, zoals in bijvoorbeeld //nl.teknopedia.teknokrat.ac.id
of //proxy.example.com:8080
.
Padnaam
De precieze betekenis van de padnaam hangt af van het protocol; voor FTP
verwijst het meestal naar een fysiek bestand, terwijl het bij IRC naar een kanaal verwijst. Bij HTTP kan het om een bestand gaan, maar bijvoorbeeld ook om een commando aan een zoekmachine of een database manager.
Meestal worden ze in de vorm /mapnaam/mapnaam/.../mapnaam/bestandsnaam
gebruikt.
Querystring
Een querystring wordt meestal gebruikt om bepaalde parameters mee te geven aan de URL, zoals de zoektermen van een zoekactie. De querystring volgt na het vraagteken, verschillende parameters in de string worden gescheiden met het ampersandteken.
Fragmentidentifier
De fragmentidentifier wordt gebruikt om naar een specifiek onderdeel van de informatiebron te verwijzen en wordt genoteerd in de vorm #fragment
.
In HTML-pagina's worden ze bijvoorbeeld gebruikt om naar tekstankers te verwijzen.
Eisen aan URL's
- Er mag slechts een beperkte verzameling tekens gebruikt worden om URL's te schrijven. Zo mogen er onder meer geen speciale tekens (die de onderdelen van elkaar onderscheiden) of witruimtes gebruikt worden. Deze tekens dienen dan genoteerd te worden als
%code
, waarbij code de tweecijferige hexadecimale representatie van de tekencode is. - Hoewel URL's technisch gezien een oneindige lengte kunnen en mogen hebben, stellen cliënten vaak een lengte-eis aan een URL. Een HTTP-GET-request kan in de meeste browsers maximaal een lengte tussen de 2000 en 4000 tekens bevatten.
Relatieve URL
Een relatieve URL verwijst naar een URL die afhangt van de URL van de verwijzende pagina, bijvoorbeeld:
- Op de webpagina https://nl.teknopedia.teknokrat.ac.id verwijst "wiki/Wikipedia" naar https://nl.teknopedia.teknokrat.ac.id/wiki/Wikipedia
Als de relatieve URL begint met "/" dan is het een absoluut pad, dat wil zeggen het volledige pad; de doel-URL wordt bepaald door de domeinnaam van de verwijzende pagina en dit pad, en hangt dus niet af van het pad van de verwijzende pagina, bijvoorbeeld:
- Op de webpagina https://nl.teknopedia.teknokrat.ac.id/wiki/Uniform_Resource_Locator verwijst "/wiki/Wikipedia" naar https://nl.teknopedia.teknokrat.ac.id/wiki/Wikipedia