URIs
Uniform Resource Identifiers (URI) werden verwendet, um "Ressourcen" im Web zu identifizieren. URIs werden häufig als Ziele von HTTP-Anfragen verwendet, wobei der URI einen Ort für eine physische Ressource wie ein Dokument, ein Foto oder Binärdaten darstellt. Der gebräuchlichste URI-Typ ist ein Uniform Resource Locator (URL), der als Webadresse bekannt ist.
URIs können verwendet werden, um andere Verhaltensweisen als das Abrufen einer Ressource auszulösen, einschließlich des Öffnens eines E-Mail-Clients, des Sendens von Textnachrichten oder der Ausführung von JavaScript, wenn sie an anderen Stellen wie im href
eines HTML-<a>
-Links verwendet werden.
URLs und URNs
URLs
Jede der folgenden URLs kann in die Adressleiste Ihres Browsers eingegeben werden, um ihn anzuweisen, das zugehörige Dokument (die Ressource) zu laden:
https:
https:/en-US/docs/Learn_web_development/
https:/en-US/search?q=URL
Eine URL besteht aus verschiedenen Teilen, von denen einige obligatorisch und andere optional sind. Ein komplexeres Beispiel könnte folgendermaßen aussehen:
http:/path/to/myfile.html?key1=value1&key2=value2#SomewhereInTheDocument
URNs
Ein Uniform Resource Name (URN) ist ein URI, der eine Ressource anhand eines Namens in einem bestimmten Namensraum identifiziert.
urn:isbn:9780141036144
urn:ietf:rfc:7230
Die beiden URNs entsprechen
- dem Buch Nineteen Eighty-Four von George Orwell,
- der IETF-Spezifikation 7230, Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing.
Syntax der Uniform Resource Identifiers (URIs)
Wir werden die folgende URL in ihre Bestandteile zerlegen:
http:/path/to/myfile.html?key1=value1&key2=value2#SomewhereInTheDocument
Scheme
http://
ist das scheme der URL, das angibt, welches Protokoll der Browser verwenden muss. Üblicherweise ist es das HTTP-Protokoll oder seine gesicherte Version HTTPS. Das Web erfordert eines dieser beiden, aber Browser wissen auch, wie sie andere Protokolle wie mailto:
(um einen Mail-Client zu öffnen) oder ftp:
(um einen Dateitransfer zu bearbeiten) handhaben. Seien Sie also nicht überrascht, wenn Sie solche Protokolle sehen. Die Schemes-Referenz bietet eine Liste der gängigsten Schemes und eine Dokumentation für einige davon.
Bei der Verwendung von URLs in HTML-Inhalten sollten Sie im Allgemeinen nur einige wenige dieser URL-Schemes verwenden. Bei der Verweisung auf Subressourcen — also Dateien, die als Teil eines größeren Dokuments geladen werden — sollten Sie nur die HTTP- und HTTPS-Schemes verwenden. Immer häufiger entfernen Browser die Unterstützung für die Verwendung von FTP zum Laden von Subressourcen aus Sicherheitsgründen.
FTP ist auf der obersten Ebene (wie direkt in die URL-Leiste des Browsers eingegeben oder als Ziel eines Links) immer noch akzeptabel, obwohl einige Browser das Laden von FTP-Inhalten an eine andere Anwendung delegieren könnten.
Authority
Die URI-authority besteht aus Benutzerinformationen (optional und normalerweise nicht spezifiziert), dem Hostnamen und dem Port.
www.example.com
ist der Host-Name des URI, der angibt, welcher Webserver angefragt wird. Hier verwenden wir einen Domainnamen. Es ist auch möglich, direkt eine IP-Adresse zu verwenden, aber da dies weniger bequem ist, ist es selten, dies zu tun, es sei denn, der Server hat keinen registrierten Domainnamen.
:80
ist der Port der URL, der das technische "Tor" bezeichnet, das verwendet wird, um auf die Ressourcen auf dem Webserver zuzugreifen. Es wird normalerweise weggelassen, wenn der Webserver die Standardports des HTTP-Protokolls (80 für HTTP und 443 für HTTPS) verwendet, um den Zugang zu seinen Ressourcen zu gewähren. Andernfalls ist es zwingend erforderlich.
Path
/path/to/myfile.html
ist der Pfad der URL, der den Speicherort der Ressource auf dem Webserver angibt. In den frühen Tagen des Webs war dies ein tatsächlicher Verzeichnispfad zu einem physischen Ort auf dem Webserver. Heutzutage abstrahieren Webserver dies normalerweise zu einem beliebigen Ort.
Query
?key1=value1&key2=value2
ist die Query der URL, welche zusätzliche Parameter sind, die dem Webserver bereitgestellt werden. Die Parameter sind eine Liste von Schlüssel/Wert-Paaren, die durch das ?
-Symbol vorangestellt und durch das &
-Symbol getrennt sind. Diese können verwendet werden, um zusätzlichen Kontext über die angeforderte Ressource bereitzustellen. Jeder Ressourcenort kann seine eigenen Regeln in Bezug auf Parameter haben, und der einzige zuverlässige Weg, um zu wissen, wie spezifische Parameter behandelt werden, besteht darin, den Besitzer des Servers zu fragen, z.B. durch Lesen der Dokumentation.
Fragment
#SomewhereInTheDocument
ist das Fragment der URL, das einen Anker zu einem anderen Teil der Ressource selbst darstellt. Ein Anker repräsentiert eine Art "Lesezeichen" innerhalb der Ressource und gibt dem Browser die Anweisungen, den Inhalt an der "markierten" Stelle zu zeigen. In einem HTML-Dokument scrollt der Browser beispielsweise zu dem Punkt, an dem der Anker definiert ist; in einem Video- oder Audio-Dokument versucht der Browser, zu der vom Anker repräsentierten Zeit zu gelangen. Es ist erwähnenswert, dass der Teil nach dem #, auch bekannt als Fragment-Identifier, niemals mit der Anfrage an den Server gesendet wird.
Es gibt ein spezielles Textfragment, das es ermöglicht, auf einen bestimmten Teil einer Webseite zu verlinken, der durch seinen Textinhalt identifiziert wird.
Beispiele
https:/en-US/docs/Learn
tel:+1-816-555-1212
git@github.com:mdn/browser-compat-data.git
ftp:/resource.txt
urn:isbn:9780141036144
mailto:help@supercyberhelpdesk.info
Spezifikationen
Specification |
---|
Unknown specification |