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 stimmt. In einigen Kontexten ist es jedoch notwendig, genauer zu sein. Wenn Sie beispielsweise mit Cookies arbeiten, müssen Sie den Unterschied zwischen Website und Herkunft kennen.
Die Namen der 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 Komponente URL API des Standards definiert Methoden, um Zugriff auf Teile eines URL-Strings zu gewähren, z. B. auf 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. Genaue Definitionen für Begriffe wie host
und origin
sind von Natur aus komplex. Daher enthält dieses Dokument Beispiele und Links zum URL-Standard, anstatt vollständige Erklärungen zu liefern.
Mit JavaScript können Sie die Namen der URL-Komponenten abrufen, die von der URL API definiert sind. Beispiel:
let url = new URL('https://foo.com.au:1234/bar/foo.html#bar');
console.log(url);
URL-Analysetool
Bearbeiten Sie die folgende URL, um zu sehen, wie die einzelnen Teile des URL-Strings benannt sind. Sie können das Tool auch in einem separaten Tab unter url-parts.glitch.me öffnen.
Die Namen der URL-Teile sind unten alphabetisch aufgeführt.
Länderspezifische Top-Level-Domain (ccTLD)
Eine Top-Level-Domain, die in der Liste der Ländercodes nach ISO 3166-1 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 öffentlichen Suffixliste, einschließlich einer TLD und(bei eTLDs mit mehreren Teilen) zusätzlicher Domains darunter: zweite Ebene, dritte Ebene usw.
- Beispiel:
com
,com.au
,github.io
,sa.edu.au
,schools.nsw.edu.au
.
Ein „öffentlicher 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
Weitere Informationen finden Sie unter registrierbare Domain.
Eine eTLD und die Subdomain davor.
- 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 der Pfad ist, basierend auf der oft falschen Annahme, dass die URL direkt auf eine Verzeichnisstruktur verweist.
Bei https://example.com/dir/file.html
könnte file.html
beispielsweise als Dateiname bezeichnet werden.
Der Dateiname wird auch von Browsern verwendet, um ein Asset beim Herunterladen zu benennen.
Beispielsweise wird https://example.com/images/image.jpg
normalerweise lokal unter image.jpg
gespeichert.
Fragment
Ein String nach dem Zeichen # am Ende einer URL, der eine Fragmentkennung enthält.
- Beispiel: Die URL
https://example.com/cats#tabby
hat den Fragment-ID-Werttabby
.
Der Teil mit der #
wird als Hash oder Anker bezeichnet.
Sie können auch einen Link zu einem Textfragment erstellen und es hervorheben.
Der Hash wird von der URL API und nicht vom Fragment zurückgegeben.
Voll 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 einer URL enthält keinen Port, auch wenn ein nicht standardmäßiger Port verwendet wird.
Hash (oder Anker)
Ein String nach dem Zeichen # am Ende einer URL, der eine Fragmentkennung enthält. In einigen Kontexten wird dies als „Anker“ bezeichnet.
Der Teil ohne #
wird als Fragment bezeichnet.
Sie können auch einen Link zu einem Textfragment erstellen und es hervorheben.
Der Hash wird von der URL API und nicht vom Fragment zurückgegeben.
Host
Gemäß der Definition im URL-Standard kann ein Host ein Domainname, eine IPv4-Adresse, eine IPv6-Adresse, ein undurchsichtiger Host oder ein leerer Host sein.
- Die Definition von
host
im URL-Standard enthält keinen Port. URL.host
enthält den Port, es sei denn, der Port ist der Standardport für das Schema.URL.hostname
enthält keinen 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 von der JavaScript URL
API definiert, nicht jedoch vom 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 für den Hintergrund auf den HTML-Standard.
Bei HTTP- oder HTTPS-URLs gibt URL.origin
das Schema, den Host und den Port zurück, es sei denn, der Port ist der Standardport für das Schema.
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
Weitere Informationen finden Sie unter Suchparameter.
Passwort
Siehe username.
Pfadname
Bei einer HTTP- oder HTTPS-URL der Teil nach der Domain und dem Port (falls definiert), einschließlich eines filename (falls definiert), aber ohne Suchstring oder 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 |
„Pfad“ bezieht sich manchmal auf den Pfad ohne Dateinamen. Bei der URL https://example.com/cat/pattern/tabby.html
ist „path“ 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
lautet die Portnummer 1234.
Die Portnummer muss eine 16‑Bit-unsignierte Ganzzahl sein, also eine Ganzzahl zwischen 0 und 65.535.
Für eine HTTP-URL ist der Standardport 80 und für 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 Teil search der URL, ausgenommen das vorangestellte ?
.
Registrierbare Domain
- Bei einer URL mit einer einteiligen eTLD wie
com
oderorg
(d. h. einer eTLD, die einer TLD entspricht), die Domain und die davor stehende Second-Level-Domain: z. B.example.com
oderexample.org
. - Bei einer URL mit einer zweiteiligen eTLD, bei der nur die Registrierung auf dritter Ebene zulässig ist (d.h. Einträge in der öffentlichen Suffixliste wie
com.au
undgithub.io
), die zweiteilige Top-Level-Domain („öffentliches Suffix“) und der Domainname der dritten Ebene direkt davor. Beispiel:example.org.au
oderexample.github.io
. - Bei eTLDs mit drei oder mehr Teilen die eTLD und die davor liegende Domain.
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 einem https
-Schema 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. Klickt ein Nutzer beispielsweise auf einen mailto
-Link, öffnen die meisten Browser die Standard-E-Mail-Anwendung und verwenden dabei 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, die 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 den search
ohne das vorangestellte ?
.
Siehe auch 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=bonkers
enthält der Suchstring zwei Parameter:pattern=tabby
undmood=bonkers
.
Second-Level-Domain
Die Domain vor einer Top-Level-Domain.
Bei der URL
https://www.example.com
istexample.com
die Second-Level-Domain, eine Subdomain der Top-Level-Domaincom
.Bei
https://example.org.au
istau
die Top-Level-Domain,org
die Second-Level-Domain undexample
die Third-Level-Domain. In diesem Beispiel istorg.au
eine Subdomain vonau
undexample.org.au
eine Subdomain vonorg.au
.
Website
Website wird vom HTML-Standard definiert, ebenso wie gleiche Website, die ein Schema und gleiche Website ohne Schema umfasst.
„Website“ ist im URL-Standard oder in der JavaScript URL API nicht definiert.
In diesem Zusammenhang:
- Bei einer HTTP- oder HTTPS-URL mit einer einteiligen eTLD wie
https://example.com
besteht die Website aus demscheme
, der eTLD und dem davor stehenden Label. Beispiel: Für die URLhttps://www.example.com/cat
ist die Websitehttps://example.com
. Bei dieser URL ist die eTLD mit der Top-Level-Domain identisch. - Bei mehrteiligen eTLD wie
co.uk
,github.io
odersa.edu.au
besteht „website“ ausscheme
, der eTLD und dem davor stehenden Label. Beispiel: Für die URLhttps://cat.example.co.uk/tabby
ist die Websitehttps://example.co.uk
und fürhttps://www.education.sa.gov.au
https://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.de") |
Im Gegensatz zu origin enthält „site“ keinen port.
Subdomain
Eine Domain innerhalb einer Domain einer höheren Ebene.
Bei Websites mit einteiligen Top-Level-Domains wie com
oder org
die Teile vor der Top-Level-Domain, die jeweils durch einen Punkt getrennt sind.
www.example.com
ist eine Subdomain vonexample.com
.support.api.example.org
ist eine Subdomain vonapi.example.org
, die wiederum eine Subdomain vonexample.org
ist.
Bei zweiteiligen eTLDs, bei denen nur Registrierungen auf dritter Ebene zulässig sind(d.h. Einträge in der öffentlichen Suffixliste wie co.uk
und github.io
), sind die Subdomains die Teile des Domainnamens davor.
- Beispiel:
cat.example.co.uk
ist eine Subdomain vonexample.co.uk
.
Text fragment
Eine Art von Fragment, mit dem ein Textbereich auf einer Seite verlinkt und hervorgehoben werden kann. Wenn ein Nutzer einem Link mit einem Textfragment folgt, versucht der Browser, den Text auf der Seite zu finden, zu scrollen und hervorzuheben.
Ein Textfragment beginnt mit :~:text=
gefolgt vom Suchbegriff.
Wenn Sie beispielsweise zum ersten Vorkommen des Texts „Fragment“ auf dieser Seite verlinken 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-Zonendatenbank aufgeführt ist, z. B. com
oder org
. Einige Top-Level-Domains sind länderspezifische Top-Level-Domains, z. B. uk
und tv
.
Bei der Beschreibung der Teile einer HTTP- oder HTTPS-URL ist die TLD der Domainname, der auf den letzten Punkt folgt.
- Bei
https://example.org
istorg
die Top-Level-Domain der URL. - Bei
https://example.org.au
istau
die Top-Level-Domain der URL undorg
ist eine Domain der zweiten Ebene, auch wennorg
auch eine Top-Level-Domain ist.org.au
ist eine zweiteilige eTLD.
Die Liste öffentlicher Suffixe von eTLD enthält Domains mit einem, zwei oder mehreren Teilen. Eine TLD kann also auch eine eTLD sein. Beispiel:
- Für
https://example.com
ist die eTLD der URLcom
, die auch eine TLD ist.
Nutzername
Zu Beginn der URL können ein optionaler Nutzername und ein Passwort angegeben werden. Diese Option wurde jedoch aus Sicherheitsgründen eingestellt und wird in vielen Fällen ignoriert.
Bei https://user123:password1@example.com
lautet der Nutzername beispielsweise user123
. Der Nutzername (und das Passwort) sind im Klartext und nicht verschlüsselt.
Wenn der Nutzername die Symbole :
oder @
enthält, müssen sie URL-codiert zu %3A
bzw. %40
werden.
Weitere Informationen
- WHATWG: URL Living Standard
- WHATWG: HTML Living Standard
- URL API
- „Auf derselben Website“ und „Mit gleicher Herkunft“
- RFC: Uniform Resource Locators (URL)
- RFC: URIs, URLs und URNs
- Root-Zonendatenbank (Verzeichnis der TLDs)
- Public Suffix List (Verzeichnis von eTLDs): „Ein öffentliches Suffix ist eine Reihe von DNS-Namen oder Wildcards, die mit Punkten verknüpft sind. Er steht für den Teil eines Domainnamens, der nicht unter der Kontrolle des einzelnen Domaininhabers steht.“
- ICANN-Glossar
- Was ist ein voll qualifizierter Domainname?
- Wie viele Möglichkeiten gibt es, eine URL zu zerlegen und die Teile zu benennen?
- MDN Web Docs-Glossar
- Was ist eine URL?
- Die Geschichte der URL