Was ist eine URL?
Dieser Artikel bespricht Uniform Resource Locators (URLs) und erklärt, was sie sind und wie sie aufgebaut sind.
Voraussetzungen: | Sie sollten zunächst wissen, wie das Internet funktioniert, was ein Webserver ist und die Konzepte hinter Links im Web. |
---|---|
Ziel: | Sie lernen, was eine URL ist und wie sie im Web funktioniert. |
Zusammenfassung
Eine URL (Uniform Resource Locator) ist die Adresse einer eindeutigen Ressource im Internet. Es ist einer der wichtigsten Mechanismen, die von Browsern verwendet werden, um veröffentlichte Ressourcen wie HTML-Seiten, CSS-Dokumente, Bilder usw. abzurufen.
Theoretisch verweist jede gültige URL auf eine eindeutige Ressource. In der Praxis gibt es jedoch einige Ausnahmen, die häufigste ist eine URL, die auf eine Ressource zeigt, die nicht mehr existiert oder verschoben wurde. Da die Ressource, die durch die URL repräsentiert wird, und die URL selbst vom Webserver verwaltet werden, liegt es in der Verantwortung des Eigentümers des Webservers, diese Ressource und die zugehörige URL sorgfältig zu verwalten.
Grundlagen: Aufbau einer URL
Hier sind einige Beispiele für URLs:
https://developer.mozilla.org https://developer.mozilla.org/en-US/docs/Learn_web_development/ https://developer.mozilla.org/en-US/search?q=URL
Alle diese URLs können in die Adressleiste Ihres Browsers eingegeben werden, um die zugehörige Ressource zu laden, die in allen drei Fällen eine Webseite ist.
Eine URL besteht aus verschiedenen Teilen, von denen einige obligatorisch und andere optional sind. Die wichtigsten Teile sind in der unten stehenden URL hervorgehoben (Details werden in den folgenden Abschnitten beschrieben):
Hinweis: Sie können sich eine URL wie eine normale Postadresse vorstellen: Das Schema repräsentiert den Postdienst, den Sie verwenden möchten, der Domain-Name ist die Stadt oder der Ort, und der Port ist wie die Postleitzahl; der Pfad repräsentiert das Gebäude, in das Ihre Post geliefert werden soll; die Parameter enthalten zusätzliche Informationen, wie etwa die Wohnungsnummer im Gebäude; und schließlich repräsentiert der Anchor die eigentliche Person, an die Ihre Post gerichtet ist.
Hinweis: Es gibt einige zusätzliche Teile und Regeln bezüglich URLs, aber diese sind für normale Nutzer oder Webentwickler nicht relevant. Machen Sie sich keine Sorgen, Sie müssen diese nicht kennen, um funktionsfähige URLs zu erstellen und zu verwenden.
Schema
Der erste Teil einer URL ist das Schema, das das Protokoll angibt, das der Browser verwenden muss, um die Ressource anzufordern (ein Protokoll ist eine festgelegte Methode zum Austausch oder zur Übertragung von Daten in einem Computernetzwerk). Für Websites wird in der Regel HTTPS oder HTTP (die nicht gesicherte Version) verwendet. Zum Adressieren von Webseiten wird eines dieser beiden benötigt, aber Browser können auch andere Protokolle wie mailto:
(zum Öffnen eines E-Mail-Clients) verarbeiten. Seien Sie also nicht überrascht, wenn Sie andere Protokolle sehen.
Autorität
Als nächstes folgt die Autorität, die durch das Zeichenmuster ://
vom Schema getrennt wird. Wenn vorhanden, umfasst die Autorität sowohl die Domain (z. B. www.example.com
) als auch den Port (80
), getrennt durch einen Doppelpunkt:
- Die Domain gibt an, welcher Webserver angefordert wird. Normalerweise ist dies ein Domain-Name, aber manchmal kann auch eine IP-Adresse verwendet werden (das ist jedoch selten, da es weniger praktisch ist).
- Der Port gibt das technische "Tor" an, das verwendet wird, um auf die Ressourcen des Webservers zuzugreifen. Er wird normalerweise weggelassen, wenn der Webserver die Standard-Ports des HTTP-Protokolls (80 für HTTP und 443 für HTTPS) verwendet. Andernfalls ist er obligatorisch.
Hinweis:
Der Separator zwischen Schema und Autorität ist ://
. Der Doppelpunkt trennt das Schema vom nächsten Teil der URL, während //
angibt, dass der nächste Teil der URL die Autorität ist.
Ein Beispiel für eine URL, die keine Autorität verwendet, ist der E-Mail-Client (mailto:foobar
). Es enthält ein Schema, verwendet jedoch keine Autoritätskomponente. Daher wird der Doppelpunkt nicht von zwei Schrägstrichen gefolgt und dient nur als Trennzeichen zwischen Schema und E-Mail-Adresse.
Pfad zur Ressource
/path/to/myfile.html
ist der Pfad zur Ressource auf dem Webserver. In den frühen Tagen des Internets stellte ein solcher Pfad einen physischen Dateispeicherort auf dem Webserver dar. Heutzutage ist es meist eine Abstraktion, die von Webservern ohne physische Realität verwaltet wird.
Parameter
?key1=value1&key2=value2
sind zusätzliche Parameter, die dem Webserver bereitgestellt werden. Diese Parameter sind eine Liste von Schlüssel/Wert-Paaren, die mit dem Symbol &
getrennt sind. Der Webserver kann diese Parameter verwenden, um zusätzliche Aktionen auszuführen, bevor er die Ressource zurückgibt. Jeder Webserver hat seine eigenen Regeln bezüglich der Parameter, und die einzige zuverlässige Möglichkeit zu wissen, wie genau ein bestimmter Webserver mit Parametern umgeht, besteht darin, den Eigentümer des Webservers zu fragen.
Anker
#SomewhereInTheDocument
ist ein Anker zu einem anderen Teil der Ressource selbst. Ein Anker stellt eine Art "Lesezeichen" innerhalb der Ressource dar und gibt dem Browser die Anweisungen, den Inhalt an der "markierten" Stelle anzuzeigen. In einem HTML-Dokument wird der Browser beispielsweise zu dem Punkt scrollen, an dem der Anker definiert ist; in einem Video- oder Audio-Dokument wird der Browser versuchen, die Zeit zu erreichen, die der Anker repräsentiert. Es ist bemerkenswert, dass der Teil nach dem #, auch bekannt als Fragment-Identifier, niemals mit der Anfrage an den Server gesendet wird.
Anleitung zur Verwendung von URLs
Jede URL kann direkt in die Adressleiste eines Browsers eingegeben werden, um zur zugrunde liegenden Ressource zu gelangen. Aber dies ist nur die Spitze des Eisbergs!
Die HTML-Sprache (siehe Inhalte strukturieren mit HTML) nutzt URLs ausgiebig:
- um Links zu anderen Dokumenten mit dem
<a>
-Element zu erstellen; - um ein Dokument mit seinen zugehörigen Ressourcen über verschiedene Elemente wie
<link>
oder<script>
zu verknüpfen; - um Medien wie Bilder (mit dem
<img>
-Element), Videos (mit dem<video>
-Element), Ton und Musik (mit dem<audio>
-Element) usw. anzuzeigen; - um andere HTML-Dokumente mit dem
<iframe>
-Element darzustellen.
Hinweis:
Wenn Sie URLs verwenden, um Ressourcen als Teil einer Seite zu laden (z. B. mit <script>
, <audio>
, <img>
, <video>
usw.), sollten Sie in der Regel nur HTTP- und HTTPS-URLs verwenden, mit wenigen Ausnahmen (eine bemerkenswerte ist data:
; siehe Data URLs). Die Verwendung von FTP ist beispielsweise unsicher und wird von modernen Browsern nicht mehr unterstützt.
Andere Technologien wie CSS oder JavaScript verwenden URLs intensiv und bilden wirklich das Herz des Internets.
Absolute URLs vs. relative URLs
Was wir oben gesehen haben, wird als absolute URL bezeichnet, aber es gibt auch etwas, das als relative URL bezeichnet wird. Der URL-Standard definiert beide Begriffe — verwendet jedoch die Begriffe absolute URL string und relative URL string, um sie von URL-Objekten (In-Memory-Repräsentationen von URLs) zu unterscheiden.
Lassen Sie uns nun den Unterschied zwischen absolut und relativ im Kontext von URLs untersuchen.
Die erforderlichen Teile einer URL hängen stark vom Kontext ab, in dem die URL verwendet wird. In der Adressleiste Ihres Browsers hat eine URL keinen Kontext, daher müssen Sie eine vollständige (oder absolute) URL wie die oben genannten angeben. Sie müssen nicht das Protokoll angeben (der Browser verwendet standardmäßig HTTP) oder den Port (dieser wird nur benötigt, wenn der Ziel-Webserver einen ungewöhnlichen Port verwendet), aber alle anderen Teile der URL sind notwendig.
Wenn eine URL innerhalb eines Dokuments verwendet wird, z. B. in einer HTML-Seite, ist die Situation etwas anders. Da der Browser bereits die URL des Dokuments kennt, kann er diese Informationen verwenden, um die fehlenden Teile jeder innerhalb des Dokuments verfügbaren URL zu ergänzen. Wir können zwischen einer absoluten URL und einer relativen URL nur anhand des Pfad-Teils der URL unterscheiden. Wenn der Pfad-Teil der URL mit dem Zeichen /
beginnt, ruft der Browser diese Ressource aus dem Stammverzeichnis des Servers ab, ohne sich auf den Kontext des aktuellen Dokuments zu beziehen.
Hier sind einige Beispiele, um dies zu verdeutlichen. Angenommen, die URLs sind innerhalb des Dokuments definiert, das sich an folgender URL befindet: https://developer.mozilla.org/de/docs/Learn
.
https://developer.mozilla.org/de/docs/Learn
selbst ist eine absolute URL. Sie enthält alle notwendigen Teile, die erforderlich sind, um die Ressource zu lokalisieren, auf die sie verweist.
Alle folgenden URLs sind relative URLs:
- Scheme-relative URL:
//developer.mozilla.org/de/docs/Learn
— es fehlt lediglich das Protokoll. Der Browser verwendet dasselbe Protokoll wie das, das verwendet wurde, um das Dokument zu laden, das diese URL enthält. - Domain-relative URL:
/de/docs/Learn
— es fehlen sowohl das Protokoll als auch der Domain-Name. Der Browser verwendet dasselbe Protokoll und denselben Domain-Namen wie der, der verwendet wurde, um das Dokument zu laden, das diese URL enthält. - Sub-Ressourcen:
Common_questions/Web_mechanics/What_is_a_URL
— es fehlen das Protokoll und der Domain-Name, und der Pfad beginnt nicht mit/
. Der Browser versucht, das Dokument in einem Unterverzeichnis desjenigen zu finden, das die aktuelle Ressource enthält. In diesem Fall möchten wir wirklich diese URL erreichen:https://developer.mozilla.org/de/docs/Learn_web_development/Howto/Web_mechanics/What_is_a_URL
. - Im Verzeichnisbaum zurückgehen:
../CSS/display
— es fehlen Protokoll und Domain-Name, und der Pfad beginnt mit..
. Dies stammt aus der UNIX-Dateisystemwelt — um dem Browser anzuzeigen, dass wir um ein Verzeichnisebene zurückgehen möchten. Hier möchten wir diese URL erreichen:https://developer.mozilla.org/de/docs/Learn_web_development/../Web/CSS/display
, die vereinfacht werden kann zu:https://developer.mozilla.org/de/docs/Web/CSS/display
. - Nur Anker:
#semantic_urls
– es fehlen alle Teile außer dem Anker. Der Browser verwendet die URL des aktuellen Dokuments und ersetzt oder ergänzt den Anker-Teil. Dies ist nützlich, wenn Sie auf einen bestimmten Teil des aktuellen Dokuments verlinken möchten.
Semantische URLs
Trotz ihres sehr technischen Charakters stellen URLs einen menschenlesbaren Einstiegspunkt für eine Website dar. Sie können gemerkt werden, und jeder kann sie in die Adressleiste eines Browsers eingeben. Menschen stehen im Zentrum des Internets, und deshalb gilt es als bewährte Praxis, sogenannte semantische URLs zu erstellen. Semantische URLs verwenden Wörter mit inhärenter Bedeutung, die jeder, unabhängig von seinem technischen Wissen, verstehen kann.
Linguistische Semantik ist natürlich für Computer irrelevant. Sie haben wahrscheinlich oft URLs gesehen, die wie eine Kombination aus zufälligen Zeichen aussehen. Aber es gibt viele Vorteile, menschenlesbare URLs zu erstellen:
- Es ist einfacher für Sie, diese zu bearbeiten.
- Es wird für Benutzer klarer, wo sie sich befinden, was sie tun, was sie lesen oder womit sie im Web interagieren.
- Einige Suchmaschinen können diese Semantik verwenden, um die Klassifizierung der zugehörigen Seiten zu verbessern.
Siehe auch
Data URLs: URLs, die mit dem Präfix data:
beginnen, ermöglichen es Inhaltserstellern, kleine Dateien inline in Dokumente einzubetten.