Bereits seit den Anfängen des World Wide Web (kurz: Web) bietet das Internet ein ein­heit­li­ches Konzept, mit dem sich Res­sour­cen im Netz eindeutig iden­ti­fi­zie­ren lassen: Die URL, ein RFC-Standard aus dem Jahr 1994, stellt In­ter­net­nut­zern eine all­ge­mein­gül­ti­ge Syntax zur Verfügung, mit der öf­fent­li­che Inhalte lo­ka­li­siert und nach Bedarf abgerufen werden können. Damit gehört die URL zu den grund­le­gen­den Tech­no­lo­gien des Web. In­ter­net­nut­zer verwenden URLs tag­täg­lich, um Res­sour­cen über den Browser auf­zu­ru­fen. Auf die Adres­sie­rung von Webseiten be­schränkt ist der Standard dabei nicht.

Wir stellen ihnen den Aufbau vor, der jeder URL zugrunde liegt, und gehen auf zentrale An­wen­dungs­fel­der ein.

Was ist eine URL?

Die Abkürzung URL steht für „Uniform Resource Locator“ („ein­heit­li­cher Res­sour­cen­an­zei­ger“). Es handelt sich um eine Unterart so­ge­nann­ter Uniform Resource Iden­ti­fiers (kurz: URI, „ein­heit­li­che Res­sour­cen­be­zeich­ner“). Der Aufbau einer URL ent­spricht der URI-Syntax.

Iden­ti­fi­ka­to­ren er­mög­li­chen es, Res­sour­cen anhand einer ein­deu­ti­gen Kenn­zeich­nung ausfindig zu machen – sowohl lokal als auch weltweit im Internet. Als Unterart der „Iden­ti­fier“ werden URLs mitunter synonym zum Begriff „In­ter­net­adres­se“ verwendet. Dies ist dem zentralen An­wen­dungs­feld der URL ge­schul­det: der Adres­sie­rung von Webseiten. Auf dieses be­schränkt sind URLs jedoch nicht. Bei­spiels­wei­se lassen sich auch Dateien im lokalen Da­tei­sys­tem mittels URLs lo­ka­li­sie­ren. Es gilt somit: Jede In­ter­net­adres­se ist eine URL, doch nicht jede URL ist eine In­ter­net­adres­se.

De­fi­ni­ti­on URL

Die Abkürzung URL steht für „Uniform Resource Locator“. URLs er­mög­li­chen es, Res­sour­cen eindeutig zu adres­sie­ren und bei Bedarf ab­zu­fra­gen. In­ter­net­nut­zer bei­spiels­wei­se verwenden URLs im Browser, um Webseiten über die Adress­zei­le auf­zu­ru­fen oder Dateien her­un­ter­zu­la­den.

Der URL-Aufbau

Jede URL besteht aus einem so­ge­nann­ten Schema und einem schem­a­spe­zi­fi­schen Teil.

  • Schema: Das URL-Schema gibt sowohl den Res­sour­cen-Typ als auch die Zu­griffs­me­tho­de an und enthält somit die In­for­ma­ti­on, wie auf die Ressource zu­ge­grif­fen werden soll. Oft trägt das URL-Schema denselben Namen wie das der Zu­griffs­me­tho­de ent­spre­chen­de Protokoll auf der An­wen­dungs­ebe­ne des Internets. Gängige Schemata sind http/https, mailto, file oder ftp.
  • Schem­a­spe­zi­fi­scher Teil: Je nach Schema-Typ be­inhal­tet der schem­a­spe­zi­fi­sche Teil der URL eine Reihe von Segmenten, die den Ort der je­wei­li­gen Ressource sowie optionale Ver­ar­bei­tungs­pa­ra­me­ter be­inhal­ten.

Als Trenn­zei­chen zwischen Schema und schem­a­spe­zi­fi­schem Teil fungiert ein Dop­pel­punkt. Je nach Schema können zudem zwei Schräg­stri­che er­for­der­lich sein, die auf eine Kon­ven­ti­on aus der An­fangs­zeit des Web zu­rück­ge­hen und heute keine bestimmte Funktion aufweisen.

Der URL liegt folgende URI-Syntax zugrunde:

Scheme:[//[user[:password]@]host[:port]][/path][?query][#fragment]

Jedem Segment des spe­zi­fi­schen Teils kommt eine bestimmte Funktion zu. Die Ab­schnit­te user, passwort, host und port werden als „Authority“ (Autorität) be­zeich­net. Die Authority gibt an, auf welchem Rechner eine Ressource zu finden ist und welchem Na­mens­raum dieser zu­zu­rech­nen ist.

  • user und password: Die Ab­schnit­te user und password enthalten Be­nut­zer­na­me und Kennwort einer zum Zugriff auf die Ressource be­rech­tig­ten Person und werden durch einen Dop­pel­punkt von­ein­an­der ab­ge­trennt. Beide Angaben sind nur dann er­for­der­lich, wenn die Ressource eine Au­then­ti­fi­zie­rung erwartet. Be­nut­zer­na­me und Kennwort werden durch ein @-Zeichen vom URI-Segment host ab­ge­trennt.
  • host: Das URI-Segment host umfasst in der Regel eine Domain inklusive Top-, Second- und Third-Level-Domain und gibt damit einen be­stimm­ten Rechner (host) an, auf dem die ge­wünsch­te Ressource abgerufen werden soll. Al­ter­na­tiv ist die Angabe des Rech­ner­na­mens in Form einer IP-Adresse möglich.
  • port: Mit der Angabe einer Port-Nummer ist die An­steue­rung eines be­stimm­ten TCP/IP-Ports im Netzwerk möglich. Da die meisten Schemata bereits einen stan­dard­mä­ßi­gen Port besitzen, ist eine separate Nennung optional. Standard-Ports sind zum Beispiel 80 bei HTTP, 443 bei HTTPS oder 21 bei FTP. Eine Port-Nummer ist lediglich anzugeben, wenn kein all­ge­mei­ner Port definiert ist oder für Stan­dard­über­tra­gun­gen ein nicht stan­dard­mä­ßi­ger Port verwendet werden soll. Die Port­num­mer wird mit einem Dop­pel­punkt vom Abschnitt host getrennt.

Die Domain in der Authority wird in der Regel in einer von Menschen lesbaren Form angegeben. Computer hingegen arbeiten mit IP-Adressen. Der Aufruf einer Web­res­sour­ce erfordert daher zunächst einen Zwi­schen­schritt, der von Nutzer unbemerkt im Hin­ter­grund abläuft: Die Na­mens­auf­lö­sung auf Grundlage des Domain-Name-Systems (DNS).

Hinweis

DNS be­zeich­net einen Dienst in IP-basierten Netz­wer­ken, der mit der Na­mens­auf­lö­sung von Domains in IP-Adressen bzw. IP-Adressen in Domains betraut ist. Internet-Ser­vice­an­bie­ter stellen dafür so­ge­nann­te DNS-Server zur Verfügung. Ruft ein In­ter­net­nut­zer eine Webpage auf, leitet sein Router die Anfrage zunächst an den zu­stän­di­gen DNS-Server weiter. Der DNS-Server sucht die passende IP zur an­ge­frag­ten Domain heraus und sendet diese zurück. Ist die gesuchte IP-Adresse beim Router ein­ge­gan­gen, kann der ent­spre­chen­de Webserver adres­siert werden.

Auf die Authority des URI folgt die Angabe, wo auf dem Rechner die Ressource zu finden ist, sowie die op­tio­na­len Be­stand­tei­le Query-String und Frag­ment­be­zeich­ner.

  • path: Das URI-Segment path enthält den Da­tei­pfand zur Ressource und verweist somit auf deren Standort auf dem Ziel­rech­ner. Der Dateipfad beginnt stets mit einem Slash (/).
  • query: Einige Web­res­sour­cen enthalten aus­führ­ba­re Be­stand­tei­le und erwarten zu­sätz­lich zum Dateipfad einen so­ge­nann­ten Query-String (auch Ab­fra­ge­teil). Dieser be­inhal­tet Parameter (bei­spiels­wei­se Be­nut­zer­ein­ga­ben), die gemeinsam mit der URL übergeben und ser­ver­sei­tig ver­ar­bei­tet werden. Üblich ist dies bei dy­na­mi­schen Webseiten, die erst zum Zeitpunkt des Abrufs aus Da­ten­sät­zen einer Datenbank erstellt werden. Der Query-String wird stets mit einem Fra­ge­zei­chen (?) ein­ge­lei­tet.
  • fragment: Soll eine bestimmte Stelle in einer Ressource re­fe­ren­ziert werden, endet der URI mit einem Frag­ment­be­zeich­ner. Dieser wird mit einem Hashtag (#) ab­ge­trennt angefügt und verweist in der Regel auf eine mit einer ID eindeutig be­zeich­ne­te Sprung­mar­ke in einem HTML-Dokument – bei­spiels­wie­se auf eine Un­ter­über­schrift.

Welche Elemente der URI-Syntax eine URL enthält, hängt vom je­wei­li­gen Schema ab. Der URL-Aufbau wird somit vom Typ der Ressource bestimmt. Die folgende Liste umfasst die gän­gigs­ten URL-Typen:

http

Webpages werden über die Pro­to­kol­le HTTP (Hypertext Transfer Protocol) oder HTTPS (Hypertext Transfer Protocol over SSL) abgerufen. Bei Letzterem werden Daten über eine sichere Ver­bin­dung über­mit­telt. Die Struktur der URL ist bei beiden Pro­to­kol­len gleich.

Beim Abruf einer URL ist in der Regel keine Au­then­ti­fi­zie­rung er­for­der­lich. Die Authority umfasst daher lediglich die Domain, unter der die ge­wünsch­te Website abgerufen werden kann. Be­nut­zer­na­me und Passwort entfallen.

mailto

Bei mailto handelt es sich um ein URL-Schema für E-Mail-Adressen, das es Web­sei­ten­be­trei­bern er­mög­licht, Hy­per­links für die Kon­takt­auf­nah­me zu im­ple­men­tie­ren. Klickt ein In­ter­net­nut­zer einen mailto-Verweis an, öffnen alle gängigen Browser au­to­ma­tisch das Standard-E-Mail-Programm des Systems sowie ein neues E-Mail-Fenster. Dabei wird die E-Mail-Adresse, die im schem­a­spe­zi­fi­schen Teil angegeben wurde, als Emp­fän­ger­adres­se im E-Mail-Fenster ein­ge­tra­gen. Dem Nutzer bleibt es somit erspart, das Programm selbst zu starten und die E-Mail-Adresse manuell zu über­tra­gen.

In URLs mit dem Schema mailto wird im schem­a­spe­zi­fi­schen Teil lediglich die E-Mail-Adresse des je­wei­li­gen Adres­sa­ten auf­ge­führt. Schema und schem­a­spe­zi­fi­scher Teil werden bei mailto-URLs lediglich durch einen Dop­pel­punkt getrennt. Der Doppel-Slash entfällt. Über einen Query-String lassen sich Mail-Header setzen, um bei­spiels­wei­se Vor­ga­be­wer­te für Betreff und Text der E-Mail zu über­mit­teln.

file

Zum Aufrufen be­stimm­ter Dateien auf dem eigenen Rechner dient das Schema file. Gibt man den korrekten Dateipfad als URL in der Adress­zei­le eines Web­brow­sers ein, ruft dieser das ge­wünsch­te Ver­zeich­nis bzw. eine Zieldatei auf.

Da das Schema file auf eine lokale Ressource verweist entfällt die Angabe der Authority. Der Dateipfad beginnt stets mit einem Slash. Es ergibt sich somit eine URL mit drei auf­ein­an­der­fol­gen­den Schräg­stri­chen.

ftp

URLs mit dem Schema FTP (File Transfer Protocol) er­mög­li­chen den Zugriff auf Dateien, die sich auf einem anderen Rechner befinden (Remote-Zugriff). Zur Über­tra­gung wird das gleich­na­mi­ge Da­tei­über­tra­gungs­pro­to­koll FTP verwendet.

Ein Nutzer, der via FTP auf Dateien in einem ent­fern­ten Da­tei­sys­tem zugreifen möchte, muss sich in der Regel au­then­ti­fi­zie­ren. URLs, die FTP-Res­sour­cen re­fe­ren­zie­ren, be­inhal­ten daher zumeist Zu­gangs­da­ten (Benutzer und Passwort).

Erlaubte Zeichen in einer URL

Der URL-Standard un­ter­stützt lediglich einen be­grenz­ten Zei­chen­satz aus aus­ge­wähl­ten ASCII-Zeichen (American Code for In­for­ma­ti­on In­ter­ch­an­ge). Hinzu kommt, dass diverse Zeichen bereits für bestimmte Funk­tio­nen re­ser­viert sind, also bei­spiels­wei­se einzelne Segmente kenn­zeich­nen und somit eine Zerlegung und Ver­ar­bei­tung der URL er­mög­li­chen.

Folgenden Zeichen wurde im URL-Standard eine klar de­fi­nier­te Funktion zu­ge­wie­sen:

: / ? # [ ] @ $ & ' ( ) * + , ; =

Das Fra­ge­zei­chen (?) bei­spiels­wei­se leitet einen Query-String ein. Ver­schie­de­ne Parameter im Query-String werden mit dem Et-Zeichen (&) ab­ge­grenzt. Als Trenn­zei­chen zwischen Pa­ra­me­ter­na­me und Wert fungiert das Gleich­heits­zei­chen (=). Das Hashtag (#) leitet die Sprung­mar­ke ein.

Zu den Zeichen ohne vor­de­fi­nier­te Funktion gehören alle Buch­sta­ben und

Ziffern sowie die im Folgenden genannten Son­der­zei­chen:

A-Z, a-z
0-9
- . _ ~

Andere als die hier auf­ge­führ­ten ASCII-Zeichen sowie Nicht-ASCII-Zeichen dürfen in URLs nicht verwendet werden und müssen um­schrie­ben werden. Ebenso ist es möglich, eines der re­ser­vier­ten Zeichen zu um­schrei­ben, um zu ver­hin­dern, dass dieses gemäß seiner vor­de­fi­nier­ten Bedeutung in­ter­pre­tiert wird. Für die Um­schrei­bung von ASCII-Zeichen nutzt der URL-Standard das Mas­kie­rungs­zei­chen % (Prozent) sowie die ASCII-Wer­te­ta­bel­le in he­xa­de­zi­ma­ler Notation. Nicht-ASCII-Zeichen werden ebenfalls mithilfe der Pro­zent­dar­stel­lung um­schrie­ben. RFC 3986 empfiehlt eine ASCII-kom­pa­ti­ble Kodierung auf Basis von UTF-8. Bindend ist diese Emp­feh­lung nicht. Letztlich ent­schei­det der Anbieter des je­wei­li­gen Dienstes, welche Kodierung zum Einsatz kommt. Ein Son­der­zei­chen wie ü kann bei­spiels­wei­se als %FC (Latin-1) oder %C3%BC (UTF-8) dar­ge­stellt werden.

Son­der­zei­chen in Domains hingegen werde mittels Punycode in ASCII-kom­pa­ti­ble Zei­chen­ket­ten um­ge­wan­delt. Mehr zur Kodierung via Punycode erfahren Sie in unserem Artikel zu in­ter­na­tio­na­len Domain-Namen (IDN).

Tipp

Ein kos­ten­lo­ser URL-Encoder steht bei­spiels­wei­se auf der Website des Webdesign-Beraters Eric A. Meyer zur Verfügung.

Der Un­ter­schied zwischen absoluten und relativen URLs

URLs werden als absolute oder als relative URLs verwendet. Absolute URLs sind uni­ver­sell gültig und umfassen alle für das jeweilige Schema er­for­der­li­chen Segmente. Relative URLs hingegen sind aus­schließ­lich in einem be­stimm­ten Kontext gültig und erben von diesem bestimmte Ei­gen­schaf­ten, sodass ent­spre­chen­de URL-Ab­schnit­te redundant werden und weg­ge­las­sen werden können. Zu den In­for­ma­tio­nen, die sich aus dem Kontext ergeben können, zählen bei­spiels­wei­se das Protokoll, die Domäne oder auch der Pfad zur Ressource.

Relative URLs kommen u. a. in Hy­per­links auf Webpages zum Einsatz, um ver­schie­de­ne Un­ter­sei­ten einer Website zu verlinken. Die Link-URL erbt die Angabe der Daten dabei von der Webpage, auf der sie zum Einsatz kommt.

Folgende Beispiele zeigen eine Ver­lin­kung von www.example.org/index/seite1 auf www.example.org/index/seite2 mit absoluter bzw. relativer URL.

Hyperlink mit absoluter URL:

<a href="http://www.example.org/index/seite2">Linktext</a>

Hyperlink mit relativer URL:

<a href="/index/seite2">Linktext</a>

Relative URLs bieten den Vorteil, dass sie deutlich kürzer sind und damit zu einem schlanken, über­sicht­li­chen Quellcode beitragen. Zudem er­leich­tern Hy­per­links mit relativen URLs den Domain-Umzug. Ändert sich die Domain der Website, muss diese in jedem internen Link mit absoluter URL manuell aus­ge­tauscht oder mit Redirects um­ge­lei­tet werden. Dieser Aufwand erübrigt sich bei relativen URLs, die ohne Authority und somit ohne Do­main­an­ga­be auskommen.

Zum Hauptmenü