In den meisten Fällen ist es in Ordnung, Dinge wie „Ich habe eine Domain gekauft“ oder „Unsere Bilder werden auf einer anderen Website gehostet“ zu sagen, auch wenn das nicht ganz der Wahrheit entspricht. In einigen Kontexten ist es jedoch erforderlich, genauer zu sein. Wenn Sie beispielsweise mit Cookies arbeiten, müssen Sie den Unterschied zwischen Website und Ursprung kennen.
Namen für URL-Teile werden in einem Standard angegeben, der auch eine JavaScript API definiert:
- Der URL-Standard definiert URLs und zugehörige Konzepte, damit Entwickler interoperable Webbrowser erstellen können.
- Die URL API-Komponente des Standards definiert Methoden für den Zugriff auf Teile eines URL-Strings, z. B. das Schema oder den Ursprung.
In diesem Dokument werden verschiedene Begriffe erläutert, die in HTTP- oder HTTPS-URL-Strings verwendet werden. Andere URL-Typen wie Datei- oder Daten-URLs werden nicht behandelt. Für Begriffe wie host und origin sind genaue Definitionen von Natur aus komplex. Daher werden in diesem Dokument Beispiele und Links zum URL-Standard bereitgestellt, anstatt vollständige Erklärungen zu geben.
Mit JavaScript können Sie die Namen von URL-Komponenten abrufen, die von der URL API definiert werden. Beispiel:
let url = new URL('https://foo.com.au:1234/bar/foo.html#bar');
console.log(url);
URL-Analyse
Bearbeiten Sie die URL unten, um zu sehen, wie die einzelnen Teile des URL-Strings benannt sind. Sie können diese Seite auch in einem separaten Tab unter https://chrome.dev/url-parts/ öffnen.
Die Namen für URL-Teile sind unten alphabetisch aufgeführt.
Länderspezifische Top-Level-Domain (ccTLD)
Eine Top-Level-Domain, die in der Liste der ISO 3166-1-Ländercodes definiert ist.
Domainname
Die durch Punkte getrennten Teile einer HTTP- oder HTTPS-URL: alles nach dem Schema, aber vor dem Pfad oder Port (falls angegeben). Jeder Teil des Domainnamens wird als Label bezeichnet.
| URL | Domainname |
|---|---|
| https://example.github.io/path | example.github.io |
| https://support.example.org.au:443 | support.example.org.au |
Effektive Top-Level-Domain (eTLD)
Ein Eintrag in der Liste öffentlicher Suffixe, einschließlich einer TLD und (für eTLDs mit mehreren Teilen) zusätzlicher Domains darunter: Second-Level-, Third-Level-Domains usw.
- Beispiel:
com,com.au,github.io,sa.edu.au,schools.nsw.edu.au.
Ein „öffentliches Suffix“ wie in diesen Beispielen ist ein Name, unter dem Domains registriert werden können. Die öffentliche Suffixliste enthält alle bekannten öffentlichen Suffixe und wird häufig aktualisiert. Browser wie Chromium und Firefox verwenden die Liste in ihren Builds.
eTLD+1
Siehe registrierbare Domain.
Eine eTLD plus die Subdomain, die ihr vorangestellt ist.
- Beispiel:
example.com,example.org.au,example.github.io,example.sa.edu.au,example.schools.nsw.edu.au.
Dateiname
Nicht im URL-Standard definiert und nicht Teil der URL API, wird aber häufig verwendet, um sich auf den letzten Teil der URL zu beziehen, der nicht zum Pfad gehört, basierend auf der – oft falschen – Annahme, dass die URL direkt einer Verzeichnisstruktur entspricht.
Bei https://example.com/dir/file.html wird file.html beispielsweise als Dateiname bezeichnet.
Der Dateinamenwert wird auch von Browsern verwendet, um ein Asset zu benennen, wenn es heruntergeladen wird.
Beispiel: https://example.com/images/image.jpg wird in der Regel lokal unter image.jpg gespeichert.
Fragment
Eine Zeichenfolge nach einem #-Zeichen am Ende einer URL, die eine Fragmentkennung enthält.
- Beispiel: Die URL
https://example.com/cats#tabbyhat den Fragment-Identifier-Werttabby.
Der Teil mit dem # wird als Hash oder Anker bezeichnet.
Sie können auch auf ein Textfragment verweisen und es hervorheben.
Der Hash wird von der URL API und nicht vom Fragment zurückgegeben.
Vollständig qualifizierter Domainname (FQDN)
Eine vollständige Adresse für eine Website oder einen Server, die einer IP-Adresse zugeordnet ist.
| URL | FQDN |
|---|---|
| https://example.com:1234/cats | example.com |
| https://api.example.github.io | api.example.github.io |
Der FQDN für eine URL enthält nicht den Port, auch wenn ein nicht standardmäßiger Port verwendet wird.
Hash (oder Anker)
Eine Zeichenfolge nach einem #-Zeichen am Ende einer URL, die eine Fragmentkennung enthält. In einigen Kontexten wird dies als „Anker“ bezeichnet.
Der Teil ohne # wird als Fragment bezeichnet.
Sie können auch auf ein Textfragment verweisen und es hervorheben.
Der Hash wird von der URL API und nicht vom Fragment zurückgegeben.
Host
Gemäß dem URL-Standard kann ein Host ein Domainname, eine IPv4-Adresse, eine IPv6-Adresse, ein intransparenter Host oder ein leerer Host sein.
- Die Definition von
hostim URL-Standard enthält nicht den Port. URL.hostenthält den Port, sofern er nicht der Standardport für das Schema ist.URL.hostnameenthält nicht den Port.
| URL | URL.host |
|---|---|
| https://www.example.com:443/cat |
www.example.com// 443 is the default port for the scheme
|
| https://www.example.com:1234/cat | www.example.com:1234 |
| https://cat.example.github.io | cat.example.github.io |
Hostname
Der Hostname wird durch die JavaScript-API URL definiert, aber nicht durch den URL-Standard. Weitere Informationen finden Sie unter Hostdarstellung.
URL.hostname gibt den Host ohne den Port zurück.
| URL | URL.hostname |
|---|---|
| https://www.example.com:443/cat | www.example.com |
| https://www.example.com:1234/cat | www.example.com |
| https://cat.example.github.io | cat.example.github.io |
Ursprung
Der URL-Standard definiert origin und verweist zur Hintergrundinformation auf den HTML-Standard.
Bei HTTP- oder HTTPS-URLs gibt URL.origin das Schema, den Host und den Port zurück, sofern der Port nicht der Standardport für das Schema ist.
| URL | URL.origin |
|---|---|
| https://www.example.com:443/cat | https://www.example.com |
| https://www.example.com:1234/cat | https://www.example.com:1234 |
| https://cat.example.github.io | https://cat.example.github.io |
Parameter
Passwort
Siehe Nutzername.
Pfadname
Bei einer HTTP- oder HTTPS-URL ist das der Teil nach der Domain und dem Port (falls definiert), einschließlich eines filename (falls definiert), aber ohne den Suchstring oder den Hash.
| URL | URL.pathname |
|---|---|
| https://example.com | [empty string] |
| https://example.com:8000/search?q=tabby | /search |
| https://example.github.io/cat/pattern#tabby | /cat/pattern |
| https://example.github.io/README.md | /README.md |
Mit „Pfad“ wird manchmal der Pfadname ohne den Dateinamen bezeichnet. Bei der URL https://example.com/cat/pattern/tabby.html ist der „Pfad“ beispielsweise /cat/pattern.
Port
Die Zahl nach einem : in einer URL, die einen Netzwerkport identifiziert. Beispiel: Für die URL https://example.com:1234/tabby ist die Portnummer 1234.
Die Portnummer muss eine 16‑Bit-Ganzzahl ohne Vorzeichen sein, d. h. eine Ganzzahl zwischen 0 und 65.535 (jeweils einschließlich).
Bei einer HTTP-URL ist der Standardport 80, bei HTTPS 443. In einer URL muss die Portnummer nur angegeben werden, wenn ein nicht standardmäßiger Port verwendet wird.
Die API gibt einen leeren String zurück, wenn der Port der Standardport für das Schema ist.
| URL | URL.port |
|---|---|
| https://example.com | // empty string |
| https://example.com:443/foo | // empty string: port is default for scheme |
| https://www.example.com:1234/foo | 1234 |
Protokoll
Das Schema, gefolgt von : (z. B. http: oder https:).
protocol ist über die URL API verfügbar, scheme jedoch nicht.
Abfrage (oder „Abfragestring“)
Der Suchteil der URL, ohne das führende ?.
Registrierbare Domain
- Bei einer URL mit einer einteiligen eTLD wie
comoderorg(d. h. einer eTLD, die einer TLD entspricht) sind das die Domain und die Second-Level-Domain davor, z. B.example.comoderexample.org. - Bei einer URL mit einer zweiteiligen eTLD, bei der nur die Registrierung der dritten Ebene zulässig ist (d.h. Einträge in der Liste öffentlicher Suffixe wie
com.auundgithub.io), die zweiteilige Top-Level-Domain („öffentliches Suffix“) und der Domainname der dritten Ebene direkt davor. Beispiel:example.org.auoderexample.github.io. - Bei eTLDs mit drei oder mehr Teilen werden die eTLD und die Domain davor verwendet.
Schema
Der Teil der URL (vor ://), der das Netzwerkprotokoll (oder die vom User-Agent auszuführende Aktion) definiert, wenn eine Anfrage an eine URL gesendet wird. Eine Anfrage an eine URL mit dem Schema https sollte beispielsweise über das HTTPS-Protokoll erfolgen. Bei einer Anfrage an eine URL mit einem Schema wie file, mailto oder git, das keinem Netzwerkprotokoll entspricht, hängt das Verhalten vom User-Agent ab. Wenn ein Nutzer beispielsweise auf einen mailto-Link klickt, öffnen die meisten Browser ihre Standard-E-Mail-Anwendung und verwenden die Werte in der href-URL des Links.
Suchen
Ein Fragezeichen, gefolgt von einer Reihe von Schlüssel/Wert-Paaren, die Parameter und ihre Werte darstellen und nach dem pathname angegeben werden.
| URL | URL.search |
|---|---|
| https://example.com/cats?pattern=tabby&mood=bonkers | ?pattern=tabby&mood=bonkers |
| https://example.com/cats:443?pattern=tabby | ?pattern=tabby |
Der query oder „Abfragestring“ bezieht sich auf search ohne das führende ?.
Weitere Informationen finden Sie unter Suchparameter.
Suchparameter
Bezieht sich auf ein Datenelement, das in einem Suchstring (oder „Abfragestring“) übergeben wird.
- Beispiel: Für
https://example.com/cats?pattern=tabby&mood=bonkershat der Suchstring zwei Parameter:pattern=tabbyundmood=bonkers.
Second-Level-Domain
Die Domain vor einer Top-Level-Domain.
Bei der URL
https://www.example.comistexample.comdie Second-Level-Domain, eine Subdomain der Top-Level-Domaincom.Bei
https://example.org.auist die Top-Level-Domainau, die Second-Level-Domainorgund die Third-Level-Domainexample. In diesem Beispiel istorg.aueine Subdomain vonauundexample.org.aueine Subdomain vonorg.au.
Website
Website wird durch den HTML-Standard definiert, zusammen mit Same-Site, das Schema und schemaloses Same-Site umfasst.
Die Website ist nicht im URL-Standard oder in der JavaScript URL API definiert.
In diesem Zusammenhang:
- Bei einer HTTP- oder HTTPS-URL mit einer einteiligen eTLD wie
https://example.combesteht die Website aus derscheme, der eTLD und dem Label davor. Beispiel: Für die URLhttps://www.example.com/catist die Websitehttps://example.com. Bei dieser URL ist die eTLD mit der Top-Level-Domain identisch. - Bei mehrteiligen eTLD wie
co.uk,github.ioodersa.edu.aubesteht die „Website“ aus derscheme, der eTLD und dem Label davor. Beispiel: Für die URLhttps://cat.example.co.uk/tabbyist die Websitehttps://example.co.ukund fürhttps://www.education.sa.gov.auist die Websitehttps://education.sa.gov.au.
| URL | Website (mit Schema und eTLD+1) |
|---|---|
| https://cat.example.com/tabby | ("https", "beispiel.de") |
| https://cat.example.co.uk/tabby | („https“, „beispiel.co.uk“) |
Im Gegensatz zu origin enthält „site“ keinen Port.
Subdomain
Eine Domain innerhalb einer übergeordneten Domain.
Bei Websites mit einteiligen Top-Level-Domains wie com oder org sind das die Teile vor der Top-Level-Domain, die jeweils durch einen Punkt getrennt sind.
www.example.comist eine Subdomain vonexample.com.support.api.example.orgist eine Subdomain vonapi.example.org, die wiederum eine Subdomain vonexample.orgist.
Bei zweiteiligen eTLDs, bei denen nur Registrierungen der dritten Ebene zulässig sind(d.h. Einträge in der Public Suffix List wie co.uk und github.io), sind die Subdomains die Teile des Domainnamens davor.
- Beispiel:
cat.example.co.ukist eine Subdomain vonexample.co.uk.
Text fragment
Eine Art von Fragment, mit der sich ein Textbereich auf einer Seite verlinken und hervorheben lässt. Wenn ein Nutzer einem Link mit einem Textfragment folgt, versucht der Browser, den Text auf der Seite zu finden, zu ihm zu scrollen und ihn hervorzuheben.
Ein Textfragment beginnt mit :~:text=, gefolgt vom Suchbegriff.
Wenn Sie beispielsweise auf das erste Vorkommen des Texts „fragment“ auf dieser Seite verweisen möchten, verwenden Sie die URL https://web.dev/articles/url-parts#:~:text=fragment.
Weitere Informationen zu Textfragmenten
Top-Level-Domain (TLD)
Ein Domainname, der in der Root Zone Database aufgeführt ist, z. B. com oder org. Einige Top-Level-Domains sind länderspezifische Top-Level-Domains, z. B. uk und tv.
Wenn die Teile einer HTTP- oder HTTPS-URL beschrieben werden, ist die TLD der Domainname, der auf den letzten Punkt folgt.
- Bei
https://example.orgist die Top-Level-Domain der URLorg. - Bei
https://example.org.auist die Top-Level-Domain der URLauundorgist eine Second-Level-Domain (obwohlorgauch eine Top-Level-Domain ist).org.auist eine zweiteilige eTLD.
Die Liste öffentlicher Suffixe von eTLD enthält Domains mit einem, zwei oder mehr Teilen. Eine TLD kann also auch eine eTLD sein. Beispiel:
- Für
https://example.comist die eTLD der URLcom, was auch eine TLD ist.
Nutzername
Ein optionaler Nutzername und ein Passwort können am Anfang der URL angegeben werden. Aus Sicherheitsgründen wurde diese Methode jedoch eingestellt und wird in vielen Fällen ignoriert.
Beispiel: Bei https://user123:password1@example.com lautet der Nutzername user123. Der Nutzername (und das Passwort) wird im Klartext und nicht verschlüsselt übertragen.
Wenn der Nutzername die Symbole : oder @ enthält, müssen sie als %3A bzw. %40 URL-codiert werden.
Weitere Informationen
- WHATWG: URL Living Standard
- WHATWG: HTML Living Standard
- URL API
- „Same-Site“ und „Same-Origin“
- RFC: Uniform Resource Locators (URL)
- RFC: URIs, URLs und URNs
- Root Zone Database (Verzeichnis der TLDs)
- Öffentliche Suffixliste (Verzeichnis von eTLDs): „Ein öffentliches Suffix ist eine Reihe von DNS-Namen oder Platzhaltern, die mit Punkten verkettet sind. Sie stellt den Teil eines Domainnamens dar, der nicht der Kontrolle des einzelnen Registranten unterliegt.“)
- ICANN-Glossar
- Was ist ein voll qualifizierter Domainname?
- Wie viele Möglichkeiten gibt es, eine URL in Teile zu zerlegen und die Teile zu benennen?
- MDN Web Docs-Glossar
- Was ist eine URL?
- Verlauf der URL