Nicht angemeldeter Benutzer - Bearbeiten von Seiten ist nur als angemeldeter Benutzer möglich.

URL: Unterschied zwischen den Versionen

Aus imedwiki
Zur Navigation springen Zur Suche springen
[unmarkierte Version][unmarkierte Version]
K (Interwikilinks anpassen)
K (Interwikilinks anpassen)
Zeile 1: Zeile 1:
Ein '''Uniform Resource Locator''' (Abk. '''URL'''; {{enS}} für ''einheitlicher [[Ressource#Informatik|Ressourcenzeiger]]'') identifiziert und lokalisiert eine Ressource, beispielsweise eine [[Webseite]], über die zu verwendende Zugriffsmethode (zum Beispiel das verwendete [[Netzwerkprotokoll]] wie [[Hypertext Transfer Protocol|HTTP]] oder [[File Transfer Protocol|FTP]]) und den Ort (engl. {{lang|en|''location''}}) der Ressource in [[Rechnernetz|Computernetzwerken]]. Der ursprüngliche Standard wurde im Dezember 1994 als RFC 1738 publiziert, er ist inzwischen durch die Veröffentlichung mehrerer anderer [[Request for Comments|RFCs]] obsolet. Die aktuellen RFCs sind (Stand 2016):
+
Ein '''Uniform Resource Locator''' (Abk. '''URL'''; {{enS}} für ''einheitlicher [[Wikipedia:Ressource#Informatik|Ressourcenzeiger]]'') identifiziert und lokalisiert eine Ressource, beispielsweise eine [[Wikipedia:Webseite|Webseite]], über die zu verwendende Zugriffsmethode (zum Beispiel das verwendete [[Wikipedia:Netzwerkprotokoll|Netzwerkprotokoll]] wie [[Wikipedia:Hypertext Transfer Protocol|HTTP]] oder [[Wikipedia:File Transfer Protocol|FTP]]) und den Ort (engl. {{lang|en|''location''}}) der Ressource in [[Wikipedia:Rechnernetz|Computernetzwerken]]. Der ursprüngliche Standard wurde im Dezember 1994 als RFC 1738 publiziert, er ist inzwischen durch die Veröffentlichung mehrerer anderer [[Request for Comments|RFCs]] obsolet. Die aktuellen RFCs sind (Stand 2016):
  
 
* {{RFC-Internet |RFC=3986 |Titel=Uniform Resource Identifier (URI): Generic Syntax}}
 
* {{RFC-Internet |RFC=3986 |Titel=Uniform Resource Identifier (URI): Generic Syntax}}
Zeile 8: Zeile 8:
 
* {{RFC-Internet |RFC=6270 |Titel=The ‘tn3270’ URI Scheme}}
 
* {{RFC-Internet |RFC=6270 |Titel=The ‘tn3270’ URI Scheme}}
  
URLs sind eine Unterart der generellen Identifikationsbezeichnung mittels [[Uniform Resource Identifier]]n (URIs). Da URLs die erste und häufigste Art von URIs darstellen, werden die Begriffe häufig [[Synonymie|synonym]] verwendet. Im allgemeinen Sprachgebrauch werden URLs auch als '''Internetadresse''' oder '''Webadresse''' bezeichnet,<ref>Duden – ''Deutsches Universalwörterbuch.'' 6. Auflage.</ref> wobei damit (der umgangssprachlich häufigen Gleichsetzung von [[Internet]] und [[World Wide Web|WWW]]<ref>{{Internetquelle |url=http://www.news.de/medien/855030425/internet-und-world-wide-web-der-unterschied/1/ |titel=Internet und World Wide Web – der Unterschied |hrsg=News.de |datum=2009-10-29 |abruf=2010-12-11}}</ref> folgend) meist speziell URLs von [[Webseite]]n gemeint sind.
+
URLs sind eine Unterart der generellen Identifikationsbezeichnung mittels [[Wikipedia:Uniform Resource Identifier|Uniform Resource Identifier]]n (URIs). Da URLs die erste und häufigste Art von URIs darstellen, werden die Begriffe häufig [[Wikipedia:Synonymie|synonym]] verwendet. Im allgemeinen Sprachgebrauch werden URLs auch als '''Internetadresse''' oder '''Webadresse''' bezeichnet,<ref>Duden – ''Deutsches Universalwörterbuch.'' 6. Auflage.</ref> wobei damit (der umgangssprachlich häufigen Gleichsetzung von [[Wikipedia:Internet|Internet]] und [[Wikipedia:World Wide Web|WWW]]<ref>{{Internetquelle |url=http://www.news.de/medien/855030425/internet-und-world-wide-web-der-unterschied/1/ |titel=Internet und World Wide Web – der Unterschied |hrsg=News.de |datum=2009-10-29 |abruf=2010-12-11}}</ref> folgend) meist speziell URLs von [[Wikipedia:Webseite|Webseite]]n gemeint sind.
  
 
== Aufbau ==
 
== Aufbau ==
Zeile 58: Zeile 58:
 
</pre>
 
</pre>
 
Streng genommen hat dieses Schema die Form <code>file://&lt;host>/<path></code>, wobei aber der Host-Teil praktisch nicht verwendet wird, da das <code>file</code>-Schema mangels einer Möglichkeit, ein Netzwerkprotokoll für den Zugriff auf die Datei anzugeben, kaum sinnvoll über ein Netzwerk benutzt werden kann.<ref name="rfc_1738_3_10">{{RFC-Internet |RFC=1738 |Titel=Uniform Resource Locators (URL) |Abschnitt=3.10 |Abschnittstitel=FILES |Datum=1994-12}}</ref>
 
Streng genommen hat dieses Schema die Form <code>file://&lt;host>/<path></code>, wobei aber der Host-Teil praktisch nicht verwendet wird, da das <code>file</code>-Schema mangels einer Möglichkeit, ein Netzwerkprotokoll für den Zugriff auf die Datei anzugeben, kaum sinnvoll über ein Netzwerk benutzt werden kann.<ref name="rfc_1738_3_10">{{RFC-Internet |RFC=1738 |Titel=Uniform Resource Locators (URL) |Abschnitt=3.10 |Abschnittstitel=FILES |Datum=1994-12}}</ref>
File-URLs werden beispielsweise in der Programmiersprache [[Java (Programmiersprache)|Java]] verwendet, um auf diese Weise auf lokale Dateien zuzugreifen.<ref>{{Internetquelle |url=http://download.oracle.com/javase/1.5.0/docs/api/java/io/File.html |titel=Class File (Java 1.5.0 API) |hrsg=[[Oracle]] |abruf=2010-12-11}}</ref> Je nach Browser ist oftmals das Öffnen von <code>file</code>-Links nur nach spezieller clientseitiger Konfiguration oder unter Zuhilfenahme von AddOns etc. möglich.<ref>''[[:en:File URI scheme #Browser behaviour|File URI scheme #Browser behaviour]]'' in der englischsprachigen Wikipedia</ref><ref>Firefox beispielsweise blockiert aus Sicherheitsgründen seit 2012 alle lokalen Zugriffe mit <code>file:</code>, wenn das umgebende Dokument aus <code>http&#58;//</code> stammt.</ref>
+
File-URLs werden beispielsweise in der Programmiersprache [[Wikipedia:Java (Programmiersprache)|Java]] verwendet, um auf diese Weise auf lokale Dateien zuzugreifen.<ref>{{Internetquelle |url=http://download.oracle.com/javase/1.5.0/docs/api/java/io/File.html |titel=Class File (Java 1.5.0 API) |hrsg=[[Wikipedia:Oracle|Oracle]] |abruf=2010-12-11}}</ref> Je nach Browser ist oftmals das Öffnen von <code>file</code>-Links nur nach spezieller clientseitiger Konfiguration oder unter Zuhilfenahme von AddOns etc. möglich.<ref>''[[:en:File URI scheme #Browser behaviour|File URI scheme #Browser behaviour]]'' in der englischsprachigen Wikipedia</ref><ref>Firefox beispielsweise blockiert aus Sicherheitsgründen seit 2012 alle lokalen Zugriffe mit <code>file:</code>, wenn das umgebende Dokument aus <code>http&#58;//</code> stammt.</ref>
  
 
=== Schema ''(scheme)'' ===
 
=== Schema ''(scheme)'' ===
Legt fest, mit welcher technischen Methode die Ressource angesprochen werden soll. Ist meistens, aber nicht zwingend gleichlautend mit dem verwendeten [[Netzwerkprotokoll]], über das die Ressource lokalisiert werden kann. Beispiele sind ''[[Hypertext Transfer Protocol|HTTP]]'', ''[[Hypertext Transfer Protocol Secure|HTTPS]]'' oder ''[[File Transfer Protocol|FTP]]'', aber auch <code>mailto</code> (zum Schreiben einer E-Mail) oder <code>file</code> (zum Zugriff auf lokale Dateien).
+
Legt fest, mit welcher technischen Methode die Ressource angesprochen werden soll. Ist meistens, aber nicht zwingend gleichlautend mit dem verwendeten [[Wikipedia:Netzwerkprotokoll|Netzwerkprotokoll]], über das die Ressource lokalisiert werden kann. Beispiele sind ''[[Wikipedia:Hypertext Transfer Protocol|HTTP]]'', ''[[Wikipedia:Hypertext Transfer Protocol Secure|HTTPS]]'' oder ''[[Wikipedia:File Transfer Protocol|FTP]]'', aber auch <code>mailto</code> (zum Schreiben einer E-Mail) oder <code>file</code> (zum Zugriff auf lokale Dateien).
  
 
=== Schema-spezifischer Teil ''(scheme-specific part)'' ===
 
=== Schema-spezifischer Teil ''(scheme-specific part)'' ===
Zeile 67: Zeile 67:
  
 
==== Benutzer und Kennwort ''(user, password)'' ====
 
==== Benutzer und Kennwort ''(user, password)'' ====
Falls benötigt, können [[Login (Informationstechnik)|Login]]-Informationen aus [[Nickname|Benutzername]] ''(user)'' und [[Kennwort]] ''(password)'' mit übermittelt werden. Diese werden, voneinander durch Doppelpunkt getrennt, dem Host mit einem trennenden At-Zeichen ([[@]]) vorangestellt.
+
Falls benötigt, können [[Wikipedia:Login (Informationstechnik)|Login]]-Informationen aus [[Wikipedia:Nickname|Benutzername]] ''(user)'' und [[Wikipedia:Kennwort|Kennwort]] ''(password)'' mit übermittelt werden. Diese werden, voneinander durch Doppelpunkt getrennt, dem Host mit einem trennenden At-Zeichen ([[Wikipedia:@|@]]) vorangestellt.
  
Auch wenn für dieses Beispiel das Protokoll [[Hypertext Transfer Protocol|HTTP]] gewählt wurde, ist die Angabe von Benutzername und Kennwort als Teil des URLs ''nicht'' Teil der HTTP-Spezifikation!<ref>{{RFC-Internet |RFC=2616 |Titel=Hypertext Transfer Protocol |Datum= |Abschnitt=3.2.2 |Abschnittstitel=http URL|Standard=HTTP/1.1}}</ref> Aktuelle Browser akzeptieren diese URL-Syntax zwar, fragen aber beim Benutzer nach, ob er sich wirklich mit den angegebenen Daten anmelden möchte. Der [[Internet Explorer]]&nbsp;6 (ab Windows XP SP2) und neuere Versionen fallen hier aus dem Rahmen, indem sie diese URL-Syntax rundweg als fehlerhaft ablehnen. Mit einem [[Windows-Registrierungsdatenbank|Registry]]-Eintrag kann man sie zum gleichen Verhalten zwingen, wie es die Vorgänger bis Version 5.5 zeigen: Diese übernehmen die Anmeldedaten ungefragt und übergeben sie direkt an den Server.
+
Auch wenn für dieses Beispiel das Protokoll [[Wikipedia:Hypertext Transfer Protocol|HTTP]] gewählt wurde, ist die Angabe von Benutzername und Kennwort als Teil des URLs ''nicht'' Teil der HTTP-Spezifikation!<ref>{{RFC-Internet |RFC=2616 |Titel=Hypertext Transfer Protocol |Datum= |Abschnitt=3.2.2 |Abschnittstitel=http URL|Standard=HTTP/1.1}}</ref> Aktuelle Browser akzeptieren diese URL-Syntax zwar, fragen aber beim Benutzer nach, ob er sich wirklich mit den angegebenen Daten anmelden möchte. Der [[Wikipedia:Internet Explorer|Internet Explorer]]&nbsp;6 (ab Windows XP SP2) und neuere Versionen fallen hier aus dem Rahmen, indem sie diese URL-Syntax rundweg als fehlerhaft ablehnen. Mit einem [[Wikipedia:Windows-Registrierungsdatenbank|Registry]]-Eintrag kann man sie zum gleichen Verhalten zwingen, wie es die Vorgänger bis Version 5.5 zeigen: Diese übernehmen die Anmeldedaten ungefragt und übergeben sie direkt an den Server.
  
Bei einigen anderen Protokollen, etwa [[File Transfer Protocol|FTP]], ist die Angabe der Benutzerdaten in der gezeigten Form dagegen völlig korrekt und durch die Standards abgedeckt.
+
Bei einigen anderen Protokollen, etwa [[Wikipedia:File Transfer Protocol|FTP]], ist die Angabe der Benutzerdaten in der gezeigten Form dagegen völlig korrekt und durch die Standards abgedeckt.
  
 
==== Host ====
 
==== Host ====
Die Host-Komponente wird in Form einer [[IPv4]]-Adresse in [[Dezimalsystem|dezimaler]] Schreibweise durch Punkte getrennt, in Form einer [[IPv6]]-Adresse in [[Hexadezimalsystem|hexadezimaler]] Schreibweise durch Doppelpunkte getrennt und in eckige Klammern gesetzt oder in Form eines [[Domain (Internet)|FQDN]] notiert.<ref name="rfc_1738_3_1">{{RFC-Internet |RFC=1738 |Titel=Uniform Resource Locators (URL) |Datum=1994-12 |Abschnitt=3.1 |Abschnittstitel=Common Internet Scheme Syntax}}</ref>
+
Die Host-Komponente wird in Form einer [[Wikipedia:IPv4|IPv4]]-Adresse in [[Wikipedia:Dezimalsystem|dezimaler]] Schreibweise durch Punkte getrennt, in Form einer [[Wikipedia:IPv6|IPv6]]-Adresse in [[Wikipedia:Hexadezimalsystem|hexadezimaler]] Schreibweise durch Doppelpunkte getrennt und in eckige Klammern gesetzt oder in Form eines [[Wikipedia:Domain (Internet)|FQDN]] notiert.<ref name="rfc_1738_3_1">{{RFC-Internet |RFC=1738 |Titel=Uniform Resource Locators (URL) |Datum=1994-12 |Abschnitt=3.1 |Abschnittstitel=Common Internet Scheme Syntax}}</ref>
  
 
==== Port ====
 
==== Port ====
Die Angabe des [[Port (Protokoll)|Ports]] erlaubt die Ansteuerung eines [[Transmission Control Protocol|TCP]]-Ports. Wird kein Port angegeben, so wird der Standard-Port des jeweiligen Protokolls verwendet – zum Beispiel bei HTTP 80, bei HTTPS 443 und bei FTP 21.
+
Die Angabe des [[Wikipedia:Port (Protokoll)|Ports]] erlaubt die Ansteuerung eines [[Wikipedia:Transmission Control Protocol|TCP]]-Ports. Wird kein Port angegeben, so wird der Standard-Port des jeweiligen Protokolls verwendet – zum Beispiel bei HTTP 80, bei HTTPS 443 und bei FTP 21.
  
 
==== Pfad ''(Path)'' ====
 
==== Pfad ''(Path)'' ====
Der Pfad beschreibt eine bestimmte Ressource (diese kann sich beispielsweise mit der Verzeichnisstruktur des Zielsystems decken, also etwa eine Datei oder ein Verzeichnis) auf dem [[Server (Software)|Server]]. Der Pfad kann auch leer sein. Ein leerer Pfad kann optional durch einen Slash ersetzt werden und ist zu diesem gleichbedeutend.<ref name="rfc3986_3_3" />
+
Der Pfad beschreibt eine bestimmte Ressource (diese kann sich beispielsweise mit der Verzeichnisstruktur des Zielsystems decken, also etwa eine Datei oder ein Verzeichnis) auf dem [[Wikipedia:Server (Software)|Server]]. Der Pfad kann auch leer sein. Ein leerer Pfad kann optional durch einen Slash ersetzt werden und ist zu diesem gleichbedeutend.<ref name="rfc3986_3_3" />
  
Die Interpretation ([[Datei]] oder [[Verzeichnisstruktur|Verzeichnis]]; Textdatei liefern oder [[Skriptsprache|Skript]] ausführen) bleibt dem Server überlassen. Ein typisches Beispiel für die Interpretationsfreiheit ist das Verhalten bei der Anforderung des Pfades <code>/</code> durch einen Client: Je nach Einstellung liefert der Server etwa den Inhalt einer namentlich ausgezeichneten Datei (wie <code>/index.html</code>, <code>/README</code>, <code>/HEADER</code>), ohne dass dies für den anfragenden Client ersichtlich ist. Genauso kann der Server allerdings –&nbsp;je nach Protokoll&nbsp;– auch explizit zu dieser Ressource weiterleiten oder eine Verzeichnisauflistung ausgeben.
+
Die Interpretation ([[Wikipedia:Datei|Datei]] oder [[Wikipedia:Verzeichnisstruktur|Verzeichnis]]; Textdatei liefern oder [[Wikipedia:Skriptsprache|Skript]] ausführen) bleibt dem Server überlassen. Ein typisches Beispiel für die Interpretationsfreiheit ist das Verhalten bei der Anforderung des Pfades <code>/</code> durch einen Client: Je nach Einstellung liefert der Server etwa den Inhalt einer namentlich ausgezeichneten Datei (wie <code>/index.html</code>, <code>/README</code>, <code>/HEADER</code>), ohne dass dies für den anfragenden Client ersichtlich ist. Genauso kann der Server allerdings –&nbsp;je nach Protokoll&nbsp;– auch explizit zu dieser Ressource weiterleiten oder eine Verzeichnisauflistung ausgeben.
  
 
==== Abfrage ''(Query)'' ====
 
==== Abfrage ''(Query)'' ====
 
{{Hauptartikel|Query String}}
 
{{Hauptartikel|Query String}}
Im Fall des HTTP kann nach dem eigentlichen Ressourcenzeiger –&nbsp;getrennt durch ein [[Fragezeichen]]&nbsp;– ein Query-String folgen.<ref name="rfc_1738_3_3">{{RFC-Internet |RFC=1738 |Titel=Uniform Resource Locators (URL) |Datum=1994-12 |Abschnitt=3.3 |Abschnittstitel=HTTP}}</ref> Damit können zusätzliche Informationen übertragen werden, die server- oder clientseitig weiterverarbeitet werden können.
+
Im Fall des HTTP kann nach dem eigentlichen Ressourcenzeiger –&nbsp;getrennt durch ein [[Wikipedia:Fragezeichen|Fragezeichen]]&nbsp;– ein Query-String folgen.<ref name="rfc_1738_3_3">{{RFC-Internet |RFC=1738 |Titel=Uniform Resource Locators (URL) |Datum=1994-12 |Abschnitt=3.3 |Abschnittstitel=HTTP}}</ref> Damit können zusätzliche Informationen übertragen werden, die server- oder clientseitig weiterverarbeitet werden können.
  
 
==== Fragment ====
 
==== Fragment ====
 
{{Hauptartikel|Fragmentbezeichner}}
 
{{Hauptartikel|Fragmentbezeichner}}
Nach einem [[Doppelkreuz (Schriftzeichen)|Doppelkreuz]] kann ein Teil der Ressource referenziert werden, typischerweise ein [[Anker (HTML)|Anker]] in einer HTML-Seite, zu dem nach dem Aufrufen der Seite automatisch [[Bildlauf|hinuntergescrollt]] wird: Der URL <code><nowiki>http://example.com/dokument.html#absatz3</nowiki></code> würde, in dem hier fiktiven Dokument, den Browser dazu veranlassen, zum Anfang des dritten Absatzes zu scrollen.
+
Nach einem [[Wikipedia:Doppelkreuz (Schriftzeichen)|Doppelkreuz]] kann ein Teil der Ressource referenziert werden, typischerweise ein [[Wikipedia:Anker (HTML)|Anker]] in einer HTML-Seite, zu dem nach dem Aufrufen der Seite automatisch [[Wikipedia:Bildlauf|hinuntergescrollt]] wird: Der URL <code><nowiki>http://example.com/dokument.html#absatz3</nowiki></code> würde, in dem hier fiktiven Dokument, den Browser dazu veranlassen, zum Anfang des dritten Absatzes zu scrollen.
  
 
== Beispiele ==
 
== Beispiele ==
* <code><nowiki>ftp://max:muster@ftp.example.com</nowiki></code> … [[File Transfer Protocol|FTP]] mit Benutzer und Kennwort
+
* <code><nowiki>ftp://max:muster@ftp.example.com</nowiki></code> … [[Wikipedia:File Transfer Protocol|FTP]] mit Benutzer und Kennwort
* <code><nowiki>http://de.wikipedia.org</nowiki></code> … [[Website]] ohne Pfad (Aufruf der [[Homepage|Startseite]])
+
* <code><nowiki>http://de.wikipedia.org</nowiki></code> … [[Wikipedia:Website|Website]] ohne Pfad (Aufruf der [[Wikipedia:Homepage|Startseite]])
 
* <code><nowiki>http://de.wikipedia.org/wiki/Uniform_Resource_Locator</nowiki></code> … Website mit Pfad
 
* <code><nowiki>http://de.wikipedia.org/wiki/Uniform_Resource_Locator</nowiki></code> … Website mit Pfad
* <code><nowiki>https://de.wikipedia.org</nowiki></code> … wie Aufruf der [[Website]] ohne Pfadangabe, allerdings mit dem verschlüsselten [[Hypertext Transfer Protocol Secure]]
+
* <code><nowiki>https://de.wikipedia.org</nowiki></code> … wie Aufruf der [[Wikipedia:Website|Website]] ohne Pfadangabe, allerdings mit dem verschlüsselten [[Wikipedia:Hypertext Transfer Protocol Secure|Hypertext Transfer Protocol Secure]]
* <code><nowiki>mailto:hans@example.org</nowiki></code> … zum Schreiben einer [[E-Mail]] an die angegebene Mailadresse (öffnet den Standard-Mailclient mit einer neuen, leeren Nachricht, in der die TO-Adresse vorausgefüllt ist)
+
* <code><nowiki>mailto:hans@example.org</nowiki></code> … zum Schreiben einer [[Wikipedia:E-Mail|E-Mail]] an die angegebene Mailadresse (öffnet den Standard-Mailclient mit einer neuen, leeren Nachricht, in der die TO-Adresse vorausgefüllt ist)
* <code><nowiki>news:alt.hypertext</nowiki></code> … Anzeige einer [[Usenet]]-Newsgruppe (generisch, ohne Angabe des Netzwerkprotokolls [[Network News Transfer Protocol|NNTP]])
+
* <code><nowiki>news:alt.hypertext</nowiki></code> … Anzeige einer [[Wikipedia:Usenet|Usenet]]-Newsgruppe (generisch, ohne Angabe des Netzwerkprotokolls [[Wikipedia:Network News Transfer Protocol|NNTP]])
 
* <code><nowiki>nntp:alt.hypertext</nowiki></code> … Anzeige einer Usenet-Newsgruppe (mit Angabe des Netzwerkprotokolls NNTP)
 
* <code><nowiki>nntp:alt.hypertext</nowiki></code> … Anzeige einer Usenet-Newsgruppe (mit Angabe des Netzwerkprotokolls NNTP)
* <code><nowiki>telnet:example.org</nowiki></code> … Start einer [[Telnet]]-Session
+
* <code><nowiki>telnet:example.org</nowiki></code> … Start einer [[Wikipedia:Telnet|Telnet]]-Session
 
* <code><nowiki>file:///foo/bar.txt</nowiki></code> … Zugriff auf eine lokale Datei
 
* <code><nowiki>file:///foo/bar.txt</nowiki></code> … Zugriff auf eine lokale Datei
  
 
== Relative URLs ==
 
== Relative URLs ==
Neben den bisher dargestellten absoluten oder vollständigen URLs gibt es auch relative URLs.<ref>{{RFC-Internet |RFC=3986 |Titel=Uniform Resource Identifier (URI): Generic Syntax |Datum=2005-01 |Abschnitt=4.2 |Abschnittstitel=Relative Reference}}</ref> Sie sind nur innerhalb eines Kontextes gültig, von dem sie Eigenschaften erben. Ihnen fehlt die Ortsangabe im [[World Wide Web]] oder einem echten [[Intranet]]. Sie sind vor allem in der Gruppe http, https und ftp möglich, aber auch bei mailto. Das entspräche einer Telefonnummer ohne [[Telefonvorwahl|Vorwahl]] (des Landes, des [[Ortsnetz]]es).
+
Neben den bisher dargestellten absoluten oder vollständigen URLs gibt es auch relative URLs.<ref>{{RFC-Internet |RFC=3986 |Titel=Uniform Resource Identifier (URI): Generic Syntax |Datum=2005-01 |Abschnitt=4.2 |Abschnittstitel=Relative Reference}}</ref> Sie sind nur innerhalb eines Kontextes gültig, von dem sie Eigenschaften erben. Ihnen fehlt die Ortsangabe im [[Wikipedia:World Wide Web|World Wide Web]] oder einem echten [[Wikipedia:Intranet|Intranet]]. Sie sind vor allem in der Gruppe http, https und ftp möglich, aber auch bei mailto. Das entspräche einer Telefonnummer ohne [[Wikipedia:Telefonvorwahl|Vorwahl]] (des Landes, des [[Wikipedia:Ortsnetz|Ortsnetz]]es).
  
 
{| class="wikitable"
 
{| class="wikitable"
Zeile 111: Zeile 111:
 
|-
 
|-
 
| <code>//</code> || Gleiches Protokoll
 
| <code>//</code> || Gleiches Protokoll
| sinnvoll, um <code>http:</code> oder [[Hypertext Transfer Protocol Secure|https:]] der momentanen Umgebung zu verwenden
+
| sinnvoll, um <code>http:</code> oder [[Wikipedia:Hypertext Transfer Protocol Secure|https:]] der momentanen Umgebung zu verwenden
 
| <code>//example.com/pfad/zu/datei</code>
 
| <code>//example.com/pfad/zu/datei</code>
 
|-
 
|-
| <code>/</code> || Gleiche Domäne (<code>host:port</code>), „[[Stammverzeichnis|Wurzelverzeichnis]]“
+
| <code>/</code> || Gleiche Domäne (<code>host:port</code>), „[[Wikipedia:Stammverzeichnis|Wurzelverzeichnis]]“
 
| || <code>/pfad/zu/datei</code>
 
| || <code>/pfad/zu/datei</code>
 
|-
 
|-
Zeile 126: Zeile 126:
 
| ''nichts'' || Gleiche Ressource || ||
 
| ''nichts'' || Gleiche Ressource || ||
 
|-
 
|-
| <code>../</code> || ein [[Verzeichnisstruktur|Pfad-Segment]] aufwärts
+
| <code>../</code> || ein [[Wikipedia:Verzeichnisstruktur|Pfad-Segment]] aufwärts
 
|rowspan="2"| Ein Server muss keine durch <code>/</code> gegliederte Pfad-Segmentierung unterstützen.
 
|rowspan="2"| Ein Server muss keine durch <code>/</code> gegliederte Pfad-Segmentierung unterstützen.
 
|rowspan="2"| <code>/pfad/zur/../zur/datei<br />./relativer/pfad</code>
 
|rowspan="2"| <code>/pfad/zur/../zur/datei<br />./relativer/pfad</code>
Zeile 133: Zeile 133:
 
|}
 
|}
  
Relative URLs werden oft eingesetzt, um eine Gruppe zusammengehörender Ressourcen wahlweise in einem lokalen [[Dateisystem]] oder an unterschiedlichen Orten in verschiedenen Netzwerk-Domänen unverändert abzulegen und aufeinander zu verlinken. Im Übrigen ist die Interpretation des Identifikators (Zeichenkette zwischen <code>host:port</code> und <code>#</code>) jedem Server freigestellt – zwar handhabt es die weitaus überwiegende Anzahl der Server und jede Standard-Software wie oben angegeben, jedoch können <code>/</code> genau wie <code>? %&nbsp;&</code> nach eigenen Regeln ausgewertet werden.
+
Relative URLs werden oft eingesetzt, um eine Gruppe zusammengehörender Ressourcen wahlweise in einem lokalen [[Wikipedia:Dateisystem|Dateisystem]] oder an unterschiedlichen Orten in verschiedenen Netzwerk-Domänen unverändert abzulegen und aufeinander zu verlinken. Im Übrigen ist die Interpretation des Identifikators (Zeichenkette zwischen <code>host:port</code> und <code>#</code>) jedem Server freigestellt – zwar handhabt es die weitaus überwiegende Anzahl der Server und jede Standard-Software wie oben angegeben, jedoch können <code>/</code> genau wie <code>? %&nbsp;&</code> nach eigenen Regeln ausgewertet werden.
  
 
Bei <code>mailto:</code> wäre eine relative URL <code>mailto:<nowiki />Nachbar</code> (ohne&nbsp;<code>@</code>)&nbsp;– sie gilt nur im lokalen Netzwerk.
 
Bei <code>mailto:</code> wäre eine relative URL <code>mailto:<nowiki />Nachbar</code> (ohne&nbsp;<code>@</code>)&nbsp;– sie gilt nur im lokalen Netzwerk.
Zeile 148: Zeile 148:
 
* Ziffern <code>0–9</code>
 
* Ziffern <code>0–9</code>
  
In bestimmten Fällen sind außerdem das Leerzeichen <code>&nbsp;</code> (dieses alternativ auch mit <code>+</code>,<ref name="SO-URL-Encoding" /> und <code>%</code>) in [[URL-Encoding|Prozentkodierung]] darzustellen.<ref name="W3-School" />
+
In bestimmten Fällen sind außerdem das Leerzeichen <code>&nbsp;</code> (dieses alternativ auch mit <code>+</code>,<ref name="SO-URL-Encoding" /> und <code>%</code>) in [[Wikipedia:URL-Encoding|Prozentkodierung]] darzustellen.<ref name="W3-School" />
  
 
== Sprachgebrauch ==
 
== Sprachgebrauch ==
Im deutschen Sprachgebrauch hat ''URL'' häufig den weiblichen [[Artikel (Wortart)|Artikel]], wird aber auch mit männlichem Artikel verwendet.<ref>Duden – ''Deutsches Universalwörterbuch'', siehe auch [http://www.duden.de/suche/?suchwort=URL&suchbereich=mixed&btnSearch.x=0&btnSearch.y=0 duden.de]</ref> Die Wahl des Genus hängt davon ab, ob es in Anlehnung an die deutsche Übersetzung ''die Adresse'' (feminin) gebildet wird oder mittels der Grammatikregel, dass Hauptwörter auf ''-or'' (hier ''Locator'' oder ''-identifikator'') oder ''-er'' (''-bezeichner'', ''-lokalisierer'', ''-anzeiger'') im Deutschen stets maskulin sind.<ref>{{cite web|url=http://www.korrekturen.de/forum/index.cgi/read/70|title=korrekturen.de – Forum – Der/die URL – Der/das (Werbe)Banner|work=korrekturen.de}}</ref>
+
Im deutschen Sprachgebrauch hat ''URL'' häufig den weiblichen [[Wikipedia:Artikel (Wortart)|Artikel]], wird aber auch mit männlichem Artikel verwendet.<ref>Duden – ''Deutsches Universalwörterbuch'', siehe auch [http://www.duden.de/suche/?suchwort=URL&suchbereich=mixed&btnSearch.x=0&btnSearch.y=0 duden.de]</ref> Die Wahl des Genus hängt davon ab, ob es in Anlehnung an die deutsche Übersetzung ''die Adresse'' (feminin) gebildet wird oder mittels der Grammatikregel, dass Hauptwörter auf ''-or'' (hier ''Locator'' oder ''-identifikator'') oder ''-er'' (''-bezeichner'', ''-lokalisierer'', ''-anzeiger'') im Deutschen stets maskulin sind.<ref>{{cite web|url=http://www.korrekturen.de/forum/index.cgi/read/70|title=korrekturen.de – Forum – Der/die URL – Der/das (Werbe)Banner|work=korrekturen.de}}</ref>
  
 
== URLs in Texten ==
 
== URLs in Texten ==
Zeile 160: Zeile 160:
 
* mit spitzen Klammern <code>&lt;<nowiki>http://example.com/</nowiki>&gt;</code>
 
* mit spitzen Klammern <code>&lt;<nowiki>http://example.com/</nowiki>&gt;</code>
  
gegen den Kontext und vor allem gegen die [[Satzzeichen|Interpunktion]] des Satzes abzugrenzen.
+
gegen den Kontext und vor allem gegen die [[Wikipedia:Satzzeichen|Interpunktion]] des Satzes abzugrenzen.
  
 
== Geschichte ==
 
== Geschichte ==
Zeile 166: Zeile 166:
 
In der Anfangszeit des WWW (ab Ende 1990) fand sich in der Dokumentation auf <code>info.cern.ch</code> zunächst keine dezidierte Bezeichnung für die Adressierung von Webseiten, das Thema wurde nur beschreibend als „W3&nbsp;document address“, „W3&nbsp;name“, „W3&nbsp;address“ oder „Hypertext Name“ dokumentiert.<ref>{{Internetquelle |url=http://www.w3.org/History/19921103-hypertext/hypertext/WWW/Technical.html |titel=Technical details |hrsg=CERN / W3C |datum=1992-11-13 |abruf=2010-12-22}}</ref><ref name="w3_naming_schemes">{{Internetquelle |url=http://www.w3.org/History/19921103-hypertext/hypertext/WWW/Addressing/Addressing.html |titel=W3 Naming Schemes |hrsg=CERN / W3C |datum=1992-02-24 |abruf=2010-12-22}}</ref><ref>{{Internetquelle |url=http://www.w3.org/History/19921103-hypertext/hypertext/WWW/Addressing/BNF.html |titel=W3 address syntax: BNF |hrsg=CERN / W3C |datum=1992-06-29 |abruf=2010-12-22}}</ref> Die damals spezifizierte (und in den ersten Webseiten verwendete) Gestalt der Adressierung entspricht aber schon der später als „URL“ standardisierten Form; im Standardisierungsprozess wurden zwar Änderungen erwogen, wegen der inzwischen schon fortgeschrittenen Verbreitung des WWW aber wieder verworfen.<ref name="w3_naming_schemes" /><ref name="Berners-Lee. 1999, S. 63">Berners-Lee 1999, S. 63.</ref>
 
In der Anfangszeit des WWW (ab Ende 1990) fand sich in der Dokumentation auf <code>info.cern.ch</code> zunächst keine dezidierte Bezeichnung für die Adressierung von Webseiten, das Thema wurde nur beschreibend als „W3&nbsp;document address“, „W3&nbsp;name“, „W3&nbsp;address“ oder „Hypertext Name“ dokumentiert.<ref>{{Internetquelle |url=http://www.w3.org/History/19921103-hypertext/hypertext/WWW/Technical.html |titel=Technical details |hrsg=CERN / W3C |datum=1992-11-13 |abruf=2010-12-22}}</ref><ref name="w3_naming_schemes">{{Internetquelle |url=http://www.w3.org/History/19921103-hypertext/hypertext/WWW/Addressing/Addressing.html |titel=W3 Naming Schemes |hrsg=CERN / W3C |datum=1992-02-24 |abruf=2010-12-22}}</ref><ref>{{Internetquelle |url=http://www.w3.org/History/19921103-hypertext/hypertext/WWW/Addressing/BNF.html |titel=W3 address syntax: BNF |hrsg=CERN / W3C |datum=1992-06-29 |abruf=2010-12-22}}</ref> Die damals spezifizierte (und in den ersten Webseiten verwendete) Gestalt der Adressierung entspricht aber schon der später als „URL“ standardisierten Form; im Standardisierungsprozess wurden zwar Änderungen erwogen, wegen der inzwischen schon fortgeschrittenen Verbreitung des WWW aber wieder verworfen.<ref name="w3_naming_schemes" /><ref name="Berners-Lee. 1999, S. 63">Berners-Lee 1999, S. 63.</ref>
  
Im Sommer 1992 versuchte [[Tim Berners-Lee]] beim [[Internet Engineering Task Force|IETF-Meeting]] in Boston eine Arbeitsgruppe ins Leben zu rufen, die den Zugriff auf Dokumente im Web standardisieren sollte. Er schlug als Namen ''Universal Document Identifier (UDI)'' vor, womit nach seiner Vorstellung ein allgemeiner Internet-Standard definiert werden sollte. Der Name wurde aber als zu „arrogant“ kritisiert, was vor allem am Wort ''universal'' (engl. für ''allgemeingültig'', ''umfassend'') lag. Stattdessen wurde von der Gruppe der bescheidenere Begriff ''uniform'' (engl. für ''einheitlich'') vorgeschlagen. Außerdem wurde „Document“ durch „Resource“ ersetzt, um zu unterstreichen, dass das Web mit anderen Informationssystemen integriert werden sollte. Die URI-Arbeitsgruppe kam schließlich zustande, wobei noch eine weitere Namensänderung für den zu definierenden Standard beschlossen wurde: „Identifier“ wurde durch „Locator“ ersetzt, um zu betonen, dass es sich bei Web-Adressen nicht um dauerhaft registrierte Adressen handelt.<ref>Berners-Lee 1999, S. 62.</ref>
+
Im Sommer 1992 versuchte [[Wikipedia:Tim Berners-Lee|Tim Berners-Lee]] beim [[Wikipedia:Internet Engineering Task Force|IETF-Meeting]] in Boston eine Arbeitsgruppe ins Leben zu rufen, die den Zugriff auf Dokumente im Web standardisieren sollte. Er schlug als Namen ''Universal Document Identifier (UDI)'' vor, womit nach seiner Vorstellung ein allgemeiner Internet-Standard definiert werden sollte. Der Name wurde aber als zu „arrogant“ kritisiert, was vor allem am Wort ''universal'' (engl. für ''allgemeingültig'', ''umfassend'') lag. Stattdessen wurde von der Gruppe der bescheidenere Begriff ''uniform'' (engl. für ''einheitlich'') vorgeschlagen. Außerdem wurde „Document“ durch „Resource“ ersetzt, um zu unterstreichen, dass das Web mit anderen Informationssystemen integriert werden sollte. Die URI-Arbeitsgruppe kam schließlich zustande, wobei noch eine weitere Namensänderung für den zu definierenden Standard beschlossen wurde: „Identifier“ wurde durch „Locator“ ersetzt, um zu betonen, dass es sich bei Web-Adressen nicht um dauerhaft registrierte Adressen handelt.<ref>Berners-Lee 1999, S. 62.</ref>
  
Aufgrund der konfliktreichen Arbeitsweise der Gruppe wurde der erste –&nbsp;noch informelle&nbsp;– Standardisierungsentwurf RFC 1630 erst im Juni 1994 von Berners-Lee vorgelegt.<ref name="Berners-Lee. 1999, S. 63" /> Er nennt den von Berners-Lee favorisierten Namen „Universal Resource Identifiers“ im Titel und definiert bereits die Begriffe URI, URL und [[Uniform Resource Name|URN]]. Im Dezember 1994 wurde von der Gruppe mit RFC 1738 der Standard mit dem Titel „Uniform Resource Locators (URL)“ veröffentlicht.
+
Aufgrund der konfliktreichen Arbeitsweise der Gruppe wurde der erste –&nbsp;noch informelle&nbsp;– Standardisierungsentwurf RFC 1630 erst im Juni 1994 von Berners-Lee vorgelegt.<ref name="Berners-Lee. 1999, S. 63" /> Er nennt den von Berners-Lee favorisierten Namen „Universal Resource Identifiers“ im Titel und definiert bereits die Begriffe URI, URL und [[Wikipedia:Uniform Resource Name|URN]]. Im Dezember 1994 wurde von der Gruppe mit RFC 1738 der Standard mit dem Titel „Uniform Resource Locators (URL)“ veröffentlicht.
  
 
=== Bestandteile ===
 
=== Bestandteile ===
 
Berners-Lee entlehnte die einzelnen Bestandteile zum Teil bewusst von bereits existierenden Systemen, um Webadressen neuen Anwendern möglichst unmittelbar vertraut respektive logisch erscheinen zu lassen:<ref name="tbl_faq">{{Internetquelle |autor=Tim Berners-Lee |url=http://www.w3.org/People/Berners-Lee/FAQ.html#etc |titel=Frequently asked questions – Why the //, #, etc? |datum=2007-11-20 |abruf=2010-12-22}}</ref>
 
Berners-Lee entlehnte die einzelnen Bestandteile zum Teil bewusst von bereits existierenden Systemen, um Webadressen neuen Anwendern möglichst unmittelbar vertraut respektive logisch erscheinen zu lassen:<ref name="tbl_faq">{{Internetquelle |autor=Tim Berners-Lee |url=http://www.w3.org/People/Berners-Lee/FAQ.html#etc |titel=Frequently asked questions – Why the //, #, etc? |datum=2007-11-20 |abruf=2010-12-22}}</ref>
* Der Pfad (<code><nowiki>http://www.example.com</nowiki>'''/verzeichnis/unterverzeichnis/datei.html'''</code>) zitiert direkt die Pfad-Syntax in [[Dateisystem#Hierarchische Dateisysteme|UNIX-Dateisystemen]].<ref name="tbl_faq" />
+
* Der Pfad (<code><nowiki>http://www.example.com</nowiki>'''/verzeichnis/unterverzeichnis/datei.html'''</code>) zitiert direkt die Pfad-Syntax in [[Wikipedia:Dateisystem#Hierarchische Dateisysteme|UNIX-Dateisystemen]].<ref name="tbl_faq" />
* Die mit einem Doppel-Schrägstrich eingeleitete Notation des Hosts stammt aus der Syntax des [[Dateisystem#Netzwerkdateisysteme|Netzwerk-Dateisystems]] von [[Apollo Computer|Apollo Domain/OS]], in der Pfade auf entfernten Hosts nach dem Muster <code>'''//example.com'''/verzeichnis/unterverzeichnis/…</code> adressiert wurden.<ref name="tbl_faq" />
+
* Die mit einem Doppel-Schrägstrich eingeleitete Notation des Hosts stammt aus der Syntax des [[Wikipedia:Dateisystem#Netzwerkdateisysteme|Netzwerk-Dateisystems]] von [[Wikipedia:Apollo Computer|Apollo Domain/OS]], in der Pfade auf entfernten Hosts nach dem Muster <code>'''//example.com'''/verzeichnis/unterverzeichnis/…</code> adressiert wurden.<ref name="tbl_faq" />
* Das mit einem [[Doppelkreuz (Schriftzeichen)|Doppelkreuz]] markierte Fragment ist der in den [[Vereinigte Staaten|USA]] üblichen Schreibweise für [[Apartment]]- und [[Suite (Zimmerflucht)|Suitenummern]] in Postadressen entlehnt: ''12&nbsp;Foo&nbsp;Avenue&nbsp;#34'' steht für ''Foo Avenue Nr.&nbsp;12, Apartment 34''. Entsprechend bedeutet <code>datei.html'''#ressource'''</code> ''Teil (Abschnitt, Kapitel&nbsp;…) <code>ressource</code>'' innerhalb des Dokuments <code>datei.html</code>.<ref name="tbl_faq" />
+
* Das mit einem [[Wikipedia:Doppelkreuz (Schriftzeichen)|Doppelkreuz]] markierte Fragment ist der in den [[Wikipedia:Vereinigte Staaten|USA]] üblichen Schreibweise für [[Wikipedia:Apartment|Apartment]]- und [[Wikipedia:Suite (Zimmerflucht)|Suitenummern]] in Postadressen entlehnt: ''12&nbsp;Foo&nbsp;Avenue&nbsp;#34'' steht für ''Foo Avenue Nr.&nbsp;12, Apartment 34''. Entsprechend bedeutet <code>datei.html'''#ressource'''</code> ''Teil (Abschnitt, Kapitel&nbsp;…) <code>ressource</code>'' innerhalb des Dokuments <code>datei.html</code>.<ref name="tbl_faq" />
  
 
== Siehe auch ==
 
== Siehe auch ==
Zeile 192: Zeile 192:
 
== Literatur ==
 
== Literatur ==
 
* {{Literatur
 
* {{Literatur
   |Autor=[[Tim Berners-Lee]], Mark Fischetti
+
   |Autor=[[Wikipedia:Tim Berners-Lee|Tim Berners-Lee]], Mark Fischetti
 
   |Titel=Der Web-Report. Der Schöpfer des World Wide Webs über das grenzenlose Potential des Internets
 
   |Titel=Der Web-Report. Der Schöpfer des World Wide Webs über das grenzenlose Potential des Internets
 
   |Verlag=Econ
 
   |Verlag=Econ

Version vom 19. April 2022, 04:00 Uhr

Ein Uniform Resource Locator (Abk. URL; englisch(w) für einheitlicher Ressourcenzeiger) identifiziert und lokalisiert eine Ressource, beispielsweise eine Webseite, über die zu verwendende Zugriffsmethode (zum Beispiel das verwendete Netzwerkprotokoll wie HTTP oder FTP) und den Ort (engl. location) der Ressource in Computernetzwerken. Der ursprüngliche Standard wurde im Dezember 1994 als RFC 1738 publiziert, er ist inzwischen durch die Veröffentlichung mehrerer anderer RFCs obsolet. Die aktuellen RFCs sind (Stand 2016):

  • RFC 3986. – Uniform Resource Identifier (URI): Generic Syntax. (englisch).
  • RFC 4248. – The telnet URI Scheme. (englisch).
  • RFC 4266. – The gopher URI Scheme. (englisch).
  • RFC 6068. – The ‘mailto’ URI Scheme. (englisch).
  • RFC 6196. – Moving mailserver: URI Scheme to Historic. (englisch).
  • RFC 6270. – The ‘tn3270’ URI Scheme. (englisch).

URLs sind eine Unterart der generellen Identifikationsbezeichnung mittels Uniform Resource Identifiern (URIs). Da URLs die erste und häufigste Art von URIs darstellen, werden die Begriffe häufig synonym verwendet. Im allgemeinen Sprachgebrauch werden URLs auch als Internetadresse oder Webadresse bezeichnet,[1] wobei damit (der umgangssprachlich häufigen Gleichsetzung von Internet und WWW[2] folgend) meist speziell URLs von Webseiten gemeint sind.

Aufbau

Der grundsätzliche URL-Aufbau besteht aus einer die Zugriffsmethode festlegenden Schema-Bezeichnung (englisch scheme) und einem Schema-spezifischen Teil (scheme-specific part), die durch einen Doppelpunkt getrennt sind:

<scheme>:<scheme-specific-part>

wobei scheme oft, aber nicht zwingend gleich lautet wie das zugrundeliegende Netzwerkprotokoll (bei ftp oder http ist das beispielsweise der Fall, aber nicht bei mailto oder file).[3]

Mögliche URL-Teile sind beispielsweise bei http:

       |------------------ Schema-spezifischer Teil ------------------|

 https://max:muster@www.example.com:8080/index.html?p1=A&p2=B#ressource
 \___/   \_/ \____/ \_____________/ \__/\_________/ \_______/ \_______/
   |      |    |           |         |       |          |         |
Schema⁺   | Kennwort      Host      Port    Pfad      Query    Fragment
       Benutzer

⁺ (hier gleich Netzwerkprotokoll)

bei mailto:

mailto:max@example.org
\____/ \______________/
   |          |
Schema⁺       |
        E-Mail-Adresse gemäß RFC 5322

⁺ (hier kein Netzwerkprotokoll)

bei news (in diesem Beispiel ist weder ein Netzwerkprotokoll noch eine Host-Adresse enthalten):

 news:alt.hypertext
 \__/ \___________/
   |        |
Schema      |
       Name der Newsgroup

bei file:

 file:///verzeichnis/unterverzeichnis/datei
 \__/ \___________________________________/
   |                    |
Schema                  |
       Pfad zu einer lokalen Datei im Dateisystem des Rechners, der den URL interpretiert

Streng genommen hat dieses Schema die Form file://<host>/<path>, wobei aber der Host-Teil praktisch nicht verwendet wird, da das file-Schema mangels einer Möglichkeit, ein Netzwerkprotokoll für den Zugriff auf die Datei anzugeben, kaum sinnvoll über ein Netzwerk benutzt werden kann.[4] File-URLs werden beispielsweise in der Programmiersprache Java verwendet, um auf diese Weise auf lokale Dateien zuzugreifen.[5] Je nach Browser ist oftmals das Öffnen von file-Links nur nach spezieller clientseitiger Konfiguration oder unter Zuhilfenahme von AddOns etc. möglich.[6][7]

Schema (scheme)

Legt fest, mit welcher technischen Methode die Ressource angesprochen werden soll. Ist meistens, aber nicht zwingend gleichlautend mit dem verwendeten Netzwerkprotokoll, über das die Ressource lokalisiert werden kann. Beispiele sind HTTP, HTTPS oder FTP, aber auch mailto (zum Schreiben einer E-Mail) oder file (zum Zugriff auf lokale Dateien).

Schema-spezifischer Teil (scheme-specific part)

Je nach Schema sind unterschiedliche spezifische Angaben erforderlich und möglich. In den meisten Fällen beginnt er mit der Zeichenkette //, jedoch ist bei manchen Varianten auch lediglich der Doppelpunkt definiert. Die folgenden Beispiele beziehen sich auf das Hypertext Transfer Protocol (HTTP).

Benutzer und Kennwort (user, password)

Falls benötigt, können Login-Informationen aus Benutzername (user) und Kennwort (password) mit übermittelt werden. Diese werden, voneinander durch Doppelpunkt getrennt, dem Host mit einem trennenden At-Zeichen (@) vorangestellt.

Auch wenn für dieses Beispiel das Protokoll HTTP gewählt wurde, ist die Angabe von Benutzername und Kennwort als Teil des URLs nicht Teil der HTTP-Spezifikation![8] Aktuelle Browser akzeptieren diese URL-Syntax zwar, fragen aber beim Benutzer nach, ob er sich wirklich mit den angegebenen Daten anmelden möchte. Der Internet Explorer 6 (ab Windows XP SP2) und neuere Versionen fallen hier aus dem Rahmen, indem sie diese URL-Syntax rundweg als fehlerhaft ablehnen. Mit einem Registry-Eintrag kann man sie zum gleichen Verhalten zwingen, wie es die Vorgänger bis Version 5.5 zeigen: Diese übernehmen die Anmeldedaten ungefragt und übergeben sie direkt an den Server.

Bei einigen anderen Protokollen, etwa FTP, ist die Angabe der Benutzerdaten in der gezeigten Form dagegen völlig korrekt und durch die Standards abgedeckt.

Host

Die Host-Komponente wird in Form einer IPv4-Adresse in dezimaler Schreibweise durch Punkte getrennt, in Form einer IPv6-Adresse in hexadezimaler Schreibweise durch Doppelpunkte getrennt und in eckige Klammern gesetzt oder in Form eines FQDN notiert.[9]

Port

Die Angabe des Ports erlaubt die Ansteuerung eines TCP-Ports. Wird kein Port angegeben, so wird der Standard-Port des jeweiligen Protokolls verwendet – zum Beispiel bei HTTP 80, bei HTTPS 443 und bei FTP 21.

Pfad (Path)

Der Pfad beschreibt eine bestimmte Ressource (diese kann sich beispielsweise mit der Verzeichnisstruktur des Zielsystems decken, also etwa eine Datei oder ein Verzeichnis) auf dem Server. Der Pfad kann auch leer sein. Ein leerer Pfad kann optional durch einen Slash ersetzt werden und ist zu diesem gleichbedeutend.[3]

Die Interpretation (Datei oder Verzeichnis; Textdatei liefern oder Skript ausführen) bleibt dem Server überlassen. Ein typisches Beispiel für die Interpretationsfreiheit ist das Verhalten bei der Anforderung des Pfades / durch einen Client: Je nach Einstellung liefert der Server etwa den Inhalt einer namentlich ausgezeichneten Datei (wie /index.html, /README, /HEADER), ohne dass dies für den anfragenden Client ersichtlich ist. Genauso kann der Server allerdings – je nach Protokoll – auch explizit zu dieser Ressource weiterleiten oder eine Verzeichnisauflistung ausgeben.

Abfrage (Query)

Im Fall des HTTP kann nach dem eigentlichen Ressourcenzeiger – getrennt durch ein Fragezeichen – ein Query-String folgen.[10] Damit können zusätzliche Informationen übertragen werden, die server- oder clientseitig weiterverarbeitet werden können.

Fragment

Nach einem Doppelkreuz kann ein Teil der Ressource referenziert werden, typischerweise ein Anker in einer HTML-Seite, zu dem nach dem Aufrufen der Seite automatisch hinuntergescrollt wird: Der URL http://example.com/dokument.html#absatz3 würde, in dem hier fiktiven Dokument, den Browser dazu veranlassen, zum Anfang des dritten Absatzes zu scrollen.

Beispiele

  • ftp://max:muster@ftp.example.comFTP mit Benutzer und Kennwort
  • http://de.wikipedia.orgWebsite ohne Pfad (Aufruf der Startseite)
  • http://de.wikipedia.org/wiki/Uniform_Resource_Locator … Website mit Pfad
  • https://de.wikipedia.org … wie Aufruf der Website ohne Pfadangabe, allerdings mit dem verschlüsselten Hypertext Transfer Protocol Secure
  • mailto:hans@example.org … zum Schreiben einer E-Mail an die angegebene Mailadresse (öffnet den Standard-Mailclient mit einer neuen, leeren Nachricht, in der die TO-Adresse vorausgefüllt ist)
  • news:alt.hypertext … Anzeige einer Usenet-Newsgruppe (generisch, ohne Angabe des Netzwerkprotokolls NNTP)
  • nntp:alt.hypertext … Anzeige einer Usenet-Newsgruppe (mit Angabe des Netzwerkprotokolls NNTP)
  • telnet:example.org … Start einer Telnet-Session
  • file:///foo/bar.txt … Zugriff auf eine lokale Datei

Relative URLs

Neben den bisher dargestellten absoluten oder vollständigen URLs gibt es auch relative URLs.[11] Sie sind nur innerhalb eines Kontextes gültig, von dem sie Eigenschaften erben. Ihnen fehlt die Ortsangabe im World Wide Web oder einem echten Intranet. Sie sind vor allem in der Gruppe http, https und ftp möglich, aber auch bei mailto. Das entspräche einer Telefonnummer ohne Vorwahl (des Landes, des Ortsnetzes).

Relative URLs für http, https, ftp
Beginn Bedeutung Anmerkung Beispiel
// Gleiches Protokoll sinnvoll, um http: oder https: der momentanen Umgebung zu verwenden //example.com/pfad/zu/datei
/ Gleiche Domäne (host:port), „Wurzelverzeichnis /pfad/zu/datei
# Gleiche Ressource Wirkung über Nebenwirkung #
#fragment Gleiche Ressource, Sprungmarke #knoten
nichts Gleiche Ressource
../ ein Pfad-Segment aufwärts Ein Server muss keine durch / gegliederte Pfad-Segmentierung unterstützen. /pfad/zur/../zur/datei
./relativer/pfad
./
sonstige
gleiches Pfad-Segment

Relative URLs werden oft eingesetzt, um eine Gruppe zusammengehörender Ressourcen wahlweise in einem lokalen Dateisystem oder an unterschiedlichen Orten in verschiedenen Netzwerk-Domänen unverändert abzulegen und aufeinander zu verlinken. Im Übrigen ist die Interpretation des Identifikators (Zeichenkette zwischen host:port und #) jedem Server freigestellt – zwar handhabt es die weitaus überwiegende Anzahl der Server und jede Standard-Software wie oben angegeben, jedoch können / genau wie ? % & nach eigenen Regeln ausgewertet werden.

Bei mailto: wäre eine relative URL mailto:Nachbar (ohne @) – sie gilt nur im lokalen Netzwerk.

Liste erlaubter Zeichen

Reservierte Zeichen sind:

  • Sonderzeichen / ? # [ ] @ : $ & ' ( ) * + , ; =

Nicht reservierte Zeichen sind:

  • Sonderzeichen - . _ ~
  • Buchstaben A–Z, a–z
  • Ziffern 0–9

In bestimmten Fällen sind außerdem das Leerzeichen   (dieses alternativ auch mit +,[12] und %) in Prozentkodierung darzustellen.[13]

Sprachgebrauch

Im deutschen Sprachgebrauch hat URL häufig den weiblichen Artikel, wird aber auch mit männlichem Artikel verwendet.[14] Die Wahl des Genus hängt davon ab, ob es in Anlehnung an die deutsche Übersetzung die Adresse (feminin) gebildet wird oder mittels der Grammatikregel, dass Hauptwörter auf -or (hier Locator oder -identifikator) oder -er (-bezeichner, -lokalisierer, -anzeiger) im Deutschen stets maskulin sind.[15]

URLs in Texten

Anhang C von RFC 3986 empfiehlt, URIs (und damit auch URLs) in Texten

  • eigenständig auf einer Zeile,
  • mit doppelten Anführungsstrichen "http://example.com/" oder
  • mit spitzen Klammern <http://example.com/>

gegen den Kontext und vor allem gegen die Interpunktion des Satzes abzugrenzen.

Geschichte

Name und Standardisierung

In der Anfangszeit des WWW (ab Ende 1990) fand sich in der Dokumentation auf info.cern.ch zunächst keine dezidierte Bezeichnung für die Adressierung von Webseiten, das Thema wurde nur beschreibend als „W3 document address“, „W3 name“, „W3 address“ oder „Hypertext Name“ dokumentiert.[16][17][18] Die damals spezifizierte (und in den ersten Webseiten verwendete) Gestalt der Adressierung entspricht aber schon der später als „URL“ standardisierten Form; im Standardisierungsprozess wurden zwar Änderungen erwogen, wegen der inzwischen schon fortgeschrittenen Verbreitung des WWW aber wieder verworfen.[17][19]

Im Sommer 1992 versuchte Tim Berners-Lee beim IETF-Meeting in Boston eine Arbeitsgruppe ins Leben zu rufen, die den Zugriff auf Dokumente im Web standardisieren sollte. Er schlug als Namen Universal Document Identifier (UDI) vor, womit nach seiner Vorstellung ein allgemeiner Internet-Standard definiert werden sollte. Der Name wurde aber als zu „arrogant“ kritisiert, was vor allem am Wort universal (engl. für allgemeingültig, umfassend) lag. Stattdessen wurde von der Gruppe der bescheidenere Begriff uniform (engl. für einheitlich) vorgeschlagen. Außerdem wurde „Document“ durch „Resource“ ersetzt, um zu unterstreichen, dass das Web mit anderen Informationssystemen integriert werden sollte. Die URI-Arbeitsgruppe kam schließlich zustande, wobei noch eine weitere Namensänderung für den zu definierenden Standard beschlossen wurde: „Identifier“ wurde durch „Locator“ ersetzt, um zu betonen, dass es sich bei Web-Adressen nicht um dauerhaft registrierte Adressen handelt.[20]

Aufgrund der konfliktreichen Arbeitsweise der Gruppe wurde der erste – noch informelle – Standardisierungsentwurf RFC 1630 erst im Juni 1994 von Berners-Lee vorgelegt.[19] Er nennt den von Berners-Lee favorisierten Namen „Universal Resource Identifiers“ im Titel und definiert bereits die Begriffe URI, URL und URN. Im Dezember 1994 wurde von der Gruppe mit RFC 1738 der Standard mit dem Titel „Uniform Resource Locators (URL)“ veröffentlicht.

Bestandteile

Berners-Lee entlehnte die einzelnen Bestandteile zum Teil bewusst von bereits existierenden Systemen, um Webadressen neuen Anwendern möglichst unmittelbar vertraut respektive logisch erscheinen zu lassen:[21]

  • Der Pfad (http://www.example.com/verzeichnis/unterverzeichnis/datei.html) zitiert direkt die Pfad-Syntax in UNIX-Dateisystemen.[21]
  • Die mit einem Doppel-Schrägstrich eingeleitete Notation des Hosts stammt aus der Syntax des Netzwerk-Dateisystems von Apollo Domain/OS, in der Pfade auf entfernten Hosts nach dem Muster //example.com/verzeichnis/unterverzeichnis/… adressiert wurden.[21]
  • Das mit einem Doppelkreuz markierte Fragment ist der in den USA üblichen Schreibweise für Apartment- und Suitenummern in Postadressen entlehnt: 12 Foo Avenue #34 steht für Foo Avenue Nr. 12, Apartment 34. Entsprechend bedeutet datei.html#ressource Teil (Abschnitt, Kapitel …) ressource innerhalb des Dokuments datei.html.[21]

Siehe auch

Literatur

  • Tim Berners-Lee, Mark Fischetti: Der Web-Report. Der Schöpfer des World Wide Webs über das grenzenlose Potential des Internets. Econ, München 1999, ISBN  3-430-11468-3 (english: Weaving the Web: The Original Design and Ultimate Destiny of the World Wide Web.).

Weblinks

Wiktionary: URL – Bedeutungserklärungen, Wortherkunft, Synonyme, Übersetzungen
  • RFC 3986. – Uniform Resource Identifier (URI): Generic Syntax. [Errata: RFC 3986]. Januar 2005. (Löst RFC 2732 ab – Aktualisiert durch RFC 6874 – englisch).
  • T. Berners-Lee, L. Masinter, M. McCahill: RFC 1738. – Uniform Resource Locators (URL). [Errata: RFC 1738]. Dezember 1994. (Aktualisiert durch RFC 1808 – englisch).
  • R. Fielding: RFC 1808. – Relative Uniform Resource Locators. Juni 1995. (Wurde durch RFC 3986 obsolete – englisch).

Einzelnachweise

  1. Duden – Deutsches Universalwörterbuch. 6. Auflage.
  2. Internet und World Wide Web – der Unterschied. News.de, 29. Oktober 2009, abgerufen am 11. Dezember 2010.
  3. 3,0 3,1 RFC 3986 – Uniform Resource Identifier (URI): Generic Syntax. Januar 2005. Abschnitt 3.3: Path. (englisch).
  4. RFC 1738 – Uniform Resource Locators (URL). Dezember 1994. Abschnitt 3.10: FILES. (englisch).
  5. Class File (Java 1.5.0 API). Oracle, abgerufen am 11. Dezember 2010.
  6. File URI scheme #Browser behaviour in der englischsprachigen Wikipedia
  7. Firefox beispielsweise blockiert aus Sicherheitsgründen seit 2012 alle lokalen Zugriffe mit file:, wenn das umgebende Dokument aus http:// stammt.
  8. RFC 2616 – Hypertext Transfer Protocol. Abschnitt 3.2.2: http URL. Standard: [HTTP/1.1]. (englisch).
  9. RFC 1738 – Uniform Resource Locators (URL). Dezember 1994. Abschnitt 3.1: Common Internet Scheme Syntax. (englisch).
  10. RFC 1738 – Uniform Resource Locators (URL). Dezember 1994. Abschnitt 3.3: HTTP. (englisch).
  11. RFC 3986 – Uniform Resource Identifier (URI): Generic Syntax. Januar 2005. Abschnitt 4.2: Relative Reference. (englisch).
  12. Matas Vaitkevicius: URL encoding the space character: + or %20? In: stackoverflow.com. 29. April 2015, abgerufen am 8. April 2016.
  13. HTML URL Encoding Reference. In: w3schools.com. Abgerufen am 8. April 2016.
  14. Duden – Deutsches Universalwörterbuch, siehe auch duden.de
  15. korrekturen.de – Forum – Der/die URL – Der/das (Werbe)Banner. In: korrekturen.de.
  16. Technical details. CERN / W3C, 13. November 1992, abgerufen am 22. Dezember 2010.
  17. 17,0 17,1 W3 Naming Schemes. CERN / W3C, 24. Februar 1992, abgerufen am 22. Dezember 2010.
  18. W3 address syntax: BNF. CERN / W3C, 29. Juni 1992, abgerufen am 22. Dezember 2010.
  19. 19,0 19,1 Berners-Lee 1999, S. 63.
  20. Berners-Lee 1999, S. 62.
  21. 21,0 21,1 21,2 21,3 Tim Berners-Lee: Frequently asked questions – Why the //, #, etc? 20. November 2007, abgerufen am 22. Dezember 2010.
Wikipedia-logo-v2.svg
Dieser Artikel basiert (teilweise) auf dem Artikel URL aus der freien Enzyklopädie Wikipedia in der Fassung 25416068 vom 14. November 2019 und steht unter der GNU Lizenz für freie Dokumentation und der Creative Commons Attribution/Share Alike. Auf Wikipedia ist eine Liste der Autoren verfügbar. Veränderungen seither in Imedwiki. Veränderungen seither in Wikipedia.Weiteres zum Import aus Wikipedia siehe Seite Imedwiki:Import aus Wikipedia.