Aus welchen Teilen besteht eine URL?

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.

  • Für https://example.org.au lautet die ccTLD au.
  • Für https://example.io lautet die ccTLD io.

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#tabby hat den Fragment-Identifier-Wert tabby.

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 host im URL-Standard enthält nicht den Port.
  • URL.host enthält den Port, sofern er nicht der Standardport für das Schema ist.
  • URL.hostname enthä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

Suchparameter

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 com oder org (d. h. einer eTLD, die einer TLD entspricht) sind das die Domain und die Second-Level-Domain davor, z. B. example.com oder example.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.au und github.io), die zweiteilige Top-Level-Domain („öffentliches Suffix“) und der Domainname der dritten Ebene direkt davor. Beispiel: example.org.au oder example.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.

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=bonkers hat der Suchstring zwei Parameter: pattern=tabby und mood=bonkers.

Second-Level-Domain

Die Domain vor einer Top-Level-Domain.

  • Bei der URL https://www.example.com ist example.com die Second-Level-Domain, eine Subdomain der Top-Level-Domain com.

  • Bei https://example.org.au ist die Top-Level-Domain au, die Second-Level-Domain org und die Third-Level-Domain example. In diesem Beispiel ist org.au eine Subdomain von au und example.org.au eine Subdomain von org.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.com besteht die Website aus der scheme, der eTLD und dem Label davor. Beispiel: Für die URL https://www.example.com/cat ist die Website https://example.com. Bei dieser URL ist die eTLD mit der Top-Level-Domain identisch.
  • Bei mehrteiligen eTLD wie co.uk, github.io oder sa.edu.au besteht die „Website“ aus der scheme, der eTLD und dem Label davor. Beispiel: Für die URL https://cat.example.co.uk/tabby ist die Website https://example.co.uk und für https://www.education.sa.gov.au ist die Website 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.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.com ist eine Subdomain von example.com.
  • support.api.example.org ist eine Subdomain von api.example.org, die wiederum eine Subdomain von example.org ist.

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.uk ist eine Subdomain von example.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.org ist die Top-Level-Domain der URL org.
  • Bei https://example.org.au ist die Top-Level-Domain der URL au und org ist eine Second-Level-Domain (obwohl org 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 mehr Teilen. Eine TLD kann also auch eine eTLD sein. Beispiel:

  • Für https://example.com ist die eTLD der URL com, 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