HTML Uniform Resource Locators
Ein Uniform Resource Locator (URL) ist eine Webadresse, die auf eine Ressource verweist. Erfahren Sie mehr über URL-Syntax und -Kodierung.
Ein Uniform Resource Locator (URL), der auch als Webadresse bezeichnet wird, ist ein Verweis auf eine Webressource, der deren Standort im Computernetzwerk und einen Mechanismus zum Abrufen angibt. Eine URL ist eine besondere Art von Uniform Resource Identifier (URI), obwohl diese beiden Begriffe manchmal synonym verwendet werden. In den meisten Webbrowsern wird die URL einer Webseite oberhalb der Seite in einer Adressleiste angezeigt.
Eine URL kann aus Wörtern oder einer Internet-Protocol-Adresse (IP-Adresse) bestehen. Generell geben Nutzer den Namen ein, da er leichter zu merken ist als Zahlen.
Diese Seite erklärt den Aufbau einer URL, wie absolute und relative URLs in HTML-Attributen funktionieren, wie die Query- und Fragment-Teile arbeiten, die URL-Kodierung und die am häufigsten verwendeten Schemas.
URL-Syntax
Die allgemeine Syntax einer vollständigen Webadresse lautet:
scheme://host:port/path?query#fragmentAufbau einer URL
Gemäß RFC 3986 — der Spezifikation, die URLs definiert — besteht eine URL aus den folgenden Komponenten. Es gibt keine separate „Dateiname"-Komponente: Ein Dateiname ist einfach das letzte Segment des Pfads.
| Komponente | Was sie angibt |
|---|---|
| scheme | Das Protokoll oder die Art des zu verwendenden Dienstes, z. B. http, https oder mailto. |
| host | Der Domainname (zum Beispiel www.w3docs.com) oder die IP-Adresse des Servers. |
| port | Die Portnummer auf dem Host. Sie ist optional; 80 ist der Standard für http und 443 für https. |
| path | Der Speicherort der Ressource auf dem Server, einschließlich aller Ordner und des Dateinamens. Wird er weggelassen, wird das Stammverzeichnis des Servers (/) verwendet. |
| query | Optionale Parameter, die an die Ressource übergeben werden, angegeben als key=value-Paare. |
| fragment | Ein optionaler Bezeichner (Anker), der auf einen bestimmten Teil der Ressource verweist. |
Eine vollständige URL, aufgeschlüsselt
Betrachten Sie diese Adresse:
https://www.w3docs.com:443/learn-html/page.html?tab=1#introSie besteht aus folgenden Teilen:
| Teil | Wert | Bedeutung |
|---|---|---|
| scheme | https | Das sichere HTTP-Protokoll verwenden. |
| host | www.w3docs.com | Der zu kontaktierende Server. |
| port | 443 | Der Port auf dem Server (443 ist der Standard für https und wird daher meist weggelassen). |
| path | /learn-html/page.html | Der angeforderte Ordner und die angeforderte Datei. |
| query | tab=1 | Ein Parameter, der an die Ressource übergeben wird. |
| fragment | intro | Nach dem Laden der Seite zum Element mit id="intro" scrollen. |
Absolute vs. relative URLs
In HTML kann eine URL vollständig (absolut) oder in einer Kurzform (relativ) geschrieben werden. Bei einer relativen URL ergänzt der Browser die fehlenden Teile — Schema, Host und das Basisverzeichnis — aus der URL der aktuellen Seite.
Dies ist überall relevant, wo auf eine andere Ressource verwiesen wird: in <a href>-Links, <img src>-Bildern und <link href>-Stylesheets.
Angenommen, die aktuelle Seite ist https://example.com/learn-html/page.html:
| Im Dokument | Wird aufgelöst zu | Typ |
|---|---|---|
href="https://example.com/page" | https://example.com/page | Absolut |
href="/path/page" | https://example.com/path/page | Root-relativ (beginnt beim Host-Stammverzeichnis) |
href="../sibling" | https://example.com/sibling | Relativ (geht einen Ordner nach oben) |
href="page2.html" | https://example.com/learn-html/page2.html | Relativ (gleicher Ordner) |
<!-- Absolute URL: includes the scheme and host -->
<a href="https://example.com/page">External page</a>
<!-- Root-relative: starts at the site root -->
<img src="/images/logo.png" alt="Logo" />
<!-- Relative: relative to the current page's folder -->
<link rel="stylesheet" href="../css/style.css" />Verwenden Sie relative URLs für Links innerhalb Ihrer eigenen Website (sie funktionieren auch dann noch, wenn die Website auf eine neue Domain umzieht) und absolute URLs für Verweise auf externe Ressourcen. Weitere Informationen zum Verlinken finden Sie unter HTML-Links.
Die Query-Komponente
Der Query-String kommt nach einem ? und übergibt Daten als key=value-Paare an die Ressource. Mehrere Parameter werden mit & verbunden:
https://www.w3docs.com/search?q=html&page=2Hier sind q=html und page=2 zwei separate Parameter. Server (und JavaScript) lesen diese Werte aus, um zu entscheiden, was zurückgegeben werden soll — zum Beispiel ein Suchbegriff und eine Seitennummer.
Das Fragment (Anker)
Das Fragment kommt nach einem # und verweist auf einen bestimmten Teil einer Seite. Der Browser scrollt zu dem Element, dessen id mit dem Fragment übereinstimmt. Es wird vollständig im Browser verarbeitet und niemals an den Server gesendet.
<!-- Links to the element with id="section2" on the same page -->
<a href="#section2">Jump to Section 2</a>
<h2 id="section2">Section 2</h2>URL-Kodierung
URLs können über das Internet nur mit dem ASCII-Zeichensatz übertragen werden. Wenn eine URL Zeichen außerhalb dieses Zeichensatzes enthält — oder Zeichen, die in einer URL eine besondere Bedeutung haben — müssen diese Zeichen kodiert werden.
Bei der URL-Kodierung (auch Prozent-Kodierung genannt) wird ein Zeichen durch ein % gefolgt von seinem zweistelligen Hexadezimalwert ersetzt. URLs dürfen keine Leerzeichen enthalten, daher wird ein Leerzeichen zu %20 (oder in Query-Strings zu einem +-Zeichen):
Before: https://www.w3docs.com/search?q=hello world
After: https://www.w3docs.com/search?q=hello%20worldReservierte Zeichen wie ?, &, =, # und / haben in einer URL eine strukturelle Bedeutung, daher müssen sie, wenn sie in einem Wert erscheinen, ebenfalls prozent-kodiert werden (zum Beispiel wird & zu %26). Einige häufige Ersetzungen:
| Zeichen | Kodiert |
|---|---|
| Leerzeichen | %20 |
& | %26 |
# | %23 |
? | %3F |
= | %3D |
Gängige Schemas
Das Schema teilt dem Browser mit, welches Protokoll oder welchen Dienst er verwenden soll. Die häufigsten sind im Folgenden aufgeführt.
| Schema | Verwendet für |
|---|---|
http | Gewöhnliche Webseiten (nicht verschlüsselt). |
https | Sichere Webseiten (verschlüsselt). Der Standard für das moderne Web. |
mailto: | Öffnet den E-Mail-Client des Nutzers, z. B. mailto:[email protected]. |
tel: | Startet einen Anruf auf unterstützten Geräten, z. B. tel:+15551234567. |
data: | Bindet kleine inline Ressourcen ein, z. B. ein Base64-Bild. |
ftp | Herunterladen oder Hochladen von Dateien. |
file | Eine Datei auf dem lokalen Computer. |
<a href="mailto:[email protected]">Email us</a>
<a href="tel:+15551234567">Call us</a>Aus Sicherheitsgründen schränken moderne Browser die Schemas ftp: und file: ein: Die Unterstützung für ftp: wurde aus den meisten Browsern entfernt, und file:-Links zu lokalen Dateien funktionieren in der Regel nicht von einer Seite, die über http/https ausgeliefert wird.