uri(7) Miscellaneous Information Manual uri(7)
BEZEICHNUNG
uri, url, urn - einheitliche Bezeichner fur Ressourcen (URI),
einschliesslich einer URL oder URN
UBERSICHT
URI = [ absoluteURI | relativeURI ] [ >>#<< Fragment ]
absoluteURI = scheme >>:<< ( hierarchischer_Anteil |
undurchsichtiger_Anteil )
relativeURI = ( Netzpfad | absoluter_Pfad | relativer_Pfad )
[ >>?>> Anfrage ]
schema = >>http<< | >>ftp<< | >>gopher<< | >>mailto<< | >>news<< |
>>telnet<< | >>file<< | >>ftp<< | >>man<< | >>info<< |
>>whatis<< | >>ldap<< | >>wais<< | >
hierarchischer_Anteil = ( Netzpfad | absoluter_Pfad )
[ >>?<< Anfrage ]
Netzpfad = >>//<< Autoritat [ absoluter_Pfad ]
absoluter_Pfad = >>/<< Pfad-Segmente
relativer_Pfad = relatives_Segment [ absoluter_Pfad ]
BESCHREIBUNG
Ein einheitlicher Bezeichner fur Ressourcen (URI, >>Uniform Resource
Identifier<<) ist eine kurze Zeichenkette, die eine abstrakte oder
physische Ressource identifiziert (beispielsweise eine Webseite). Ein
einheitlicher Ressourcenzeiger (URL, >>Uniform Resource Locator<<) ist
eine URI, die eine Ressource uber ihren primaren Zugangsmechanismus
kennzeichnet (z.B. seinen >>Netzwerkort<<), statt uber seinen Namen
oder ein anderes Attribut dieser Ressource. Ein einheitlicher
Ressourcenname (URN, >>Uniform Resource Name<<) ist eine URI, die
global eindeutig und dauerhaft sein muss, selbst wenn die Ressource
aufhort zu existieren oder unverfugbar wird.
URIs sind die Standardart, Ziele von Hypertextlinks fur Werkzeuge wie
Webbrowser zu benennen. Die Zeichenkette >>http://www.kernel.org<< ist
eine URL (und daher auch eine URI). Viele Leute verwenden den Ausdruck
URL locker als Synonym fur URI (obwohl URLs technisch eine Teilmenge
von URIs sind).
URIs konnen absolut oder relativ sein. Ein absoluter Bezeichner bezieht
sich auf einen Ressourcen-unabhangigen Kontext, wahrend sich ein
relativer Bezeichner auf eine Ressource bezieht, indem der Unterschied
vom aktuellen Kontext beschrieben wird. Innerhalb einer relativen
Pfadreferenz haben die Segmente >>.<< und >>..<< eines kompletten Pfads
eine besondere Bedeutung: >>die aktuelle Hierarchieebene<< bzw. >>die
Stufe oberhalb dieser Hierarchieebene<<, genau wie es bei UNIX-artigen
Systemen der Fall ist. Ein Pfadsegment, das einen Doppelpunkt enthalt,
kann nicht als erstes Segment eines relativen URI-Pfades verwandt
werden (z.B. >>dies:das<<), da es als Schema-Namen missverstanden
wurde; stellen Sie solchen Segmenten >>./<< voran (z.B.
>>./dies:das<<). Beachten Sie, dass Abkommlinge von MS-DOS (z.B.
Microsoft Windows) die Doppelpunkte von Geratenamen in URIs durch einen
vertikalen Strich ersetzen (>>|<<) ersetzen, so dass >>C:<< zu >>C|<<
wird.
Falls ein Fragmentbezeichner enthalten ist, bezieht er sich auf einen
bestimmten benannten Anteil (Fragment) einer Ressource; Text nach >>#<<
identifiziert das Fragment. Eine URI, die mit >>#<< anfangt, bezieht
sich auf das Fragment in der aktuellen Ressource.
Verwendung
Es gibt viele verschiedene URI-Schemas, jede mit besonderen
zusatzlichen Regeln und Bedeutungen, aber mit Absicht werden sie so
ahnlich wie moglich gestaltet. Beispielsweise erlauben viele
URL-Schemas, dass die Autoritat im folgenden Format vorliegt, sie wird
hier ein IP-Server genannt (Anteile in eckigen Klammern sind optional).
IP-Server = [Benutzer [ : Passwort ] @ ] Rechner [ : Port]
Dieses Format erlaubt Ihnen, optional einen Benutzernamen, einen
Benutzer plus ein Passwort und/oder eine Port-Nummer einzufugen. Der
Rechner ist der Name des Rechners, entweder sein Name, wie er durch DNS
bestimmt wird, oder eine IP-Adresse (durch Punkte getrennte Nummern).
Daher meldet sich die URI
in einem Web-Server auf dem Rechner example.com als fred (mit
fredpassword) uber Port 8080 an. Vermeiden Sie die Angabe eines
Passworts in einer URI falls moglich, da es viele Sicherheitsrisiken
gibt, wenn Passworter niedergeschrieben werden. Falls die URL einen
Benutzernamen, aber kein Passwort bereitstellt, und der ferne Server
ein Passwort verlangt, sollte das Programm, das die URL auswertet,
dieses Passwort vom Benutzer abfragen.
Es folgen einige der haufigsten Schemas, die in UNIX-artigen Systemen
verwandt und von vielen Werkzeugen verstanden werden. Beachten Sie,
dass viele Werkzeuge, die URIs verwenden, uber interne Schemas oder
spezialisierte Schemas verfugen. Lesen Sie die Dokumentation dieser
Werkzeuge fur Informationen uber diese Schemas.
http - Web- (HTTP-)Server
http://IP-Server/Pfad
http://IP-Server/Pfad?Abfrage
Dies ist eine URL, die auf einen Web- (HTTP-)Server zugreift. Der
Standard-Port ist 80. Falls sich dieser Pfad auf ein Verzeichnis
bezieht, wird der Web-Server auswahlen, was er zuruckliefert;
normalerweise wird der Inhalt einer Datei namens >>index.html<< oder
>>index.htm<<, falls sie existiert, zuruckgeliefert, andernfalls wird
eine Liste von Dateien im aktuellen Verzeichnis (mit geeigneten Links)
erzeugt und zuruckgeliefert. Ein Beispiel ist .
Eine Abfrage kann im archaischen >>isindex<<-Format erfolgen. Dieses
besteht aus einem Wort oder einer Phrase und enthalt kein
Gleichheitszeichen (=). Eine Abfrage kann auch im langeren
>>GET<<-Format erfolgen, bei dem eine oder mehrere Abfrageeintrage der
Form Schlussel=Wert durch ein kaufmannisches und-Zeichen (&) getrennt
werden. Beachten Sie, dass Schlussel mehr als einmal angegeben werden
kann, es aber von dem Web-Server und seinen Anwendungsprogrammen
abhangt, ob dies einer Bedeutung zugeordnet wird. Es gibt eine
ungluckliche Interaktion zwischen HTML/XML/SGML und dem
GET-Abfrageformat: Wenn solche URIs mit mehr als einem Schlussel in
SGML/XML-Dokumenten (einschliesslich HTML) eingebettet werden, muss das
kaufmannische Und (&) als & umgeschrieben werden. Beachten Sie,
dass nicht alle Abfragen dieses Format verwenden; langere Formulare
konnten zu lang sein, um als URI abgespeichert zu werden, daher
verwenden sie einen anderen Interaktionsmechanismus (genannt POST), bei
dem die Daten nicht in der URI enthalten sind. Lesen Sie dazu die
>>Common Gateway Interface<<-Spezifikation unter fur weitere Informationen.
ftp - Dateiubertragungsprotokoll (FTP)
ftp://IP-Server/Pfad
Dies ist eine URL fur den Zugriff auf eine Datei uber das
Dateiubertragungsprotokoll (FTP). Der Standardport (fur die Steuerung)
ist 21. Falls kein Benutzername enthalten ist, wird der Benutzername
>>anonymous<< bereitgestellt, und in diesem Fall stellen viele Clients
als Passwort die Internet-E-Mail-Adresse des Anfragenden bereit. Ein
Beispiel ist .
gopher - Gopher-Server
gopher://IP-Server/Gophertyp-Auswahler
gopher://IP-Server/Gophertyp-Auswahler%09Suche
gopher89://IP-Server/Gophertyp-Auswahler%09Suche%09Gopher+-Zeichenkette
Der Standard-Gopher-Port ist 70. Gophertyp ist ein Feld mit einem
einzelnen Zeichen, um den Typ der Ressource, auf den sich die URL
bezieht, zu bezeichnen. Der gesamte Pfad darf auch leer sein. In diesem
Fall ist das begrenzende >>/<< auch optional und der Gophertyp ist
standardmassig >>1<<.
Auswahler ist eine Gopher-Auswahlerzeichenkette. Im Gopher-Protokoll
ist die Gopher-Auswahlerzeichenkette eine Sequenz von Oktetten, die
samtliche Oktets ausser 09 hexadezimal (US-ASCII HT oder Tab), 0A
hexadezimal (US-ASCII Zeichen LF) und 0D (US-ASCII Zeichen CR)
enthalten durfen.
mailto - E-Mail-Adresse
mailto:E-Mail-Adresse
Dies ist eine E-Mail-Adresse, normalerweise in der Form
Name@Rechnername. Siehe mailaddr(7) fur weitere Informationen uber das
korrekte Format einer E-Mail-Adresse. Beachten Sie, dass samtliche
%-Zeichen als %25 umgeschrieben werden mussen. Ein Beispiel ist
.
news - Newsgruppe oder News-Nachricht
news:Newsgruppenname
news:Nachrichtenkennung
Ein Newsgruppenname ist ein durch Punkte getrennter hierarchischer
Name, wie >>comp.infosystems.www.misc<<. Falls ein
>>*<< ist (wie in ), so wird dieser als Bezug auf >>alle
verfugbaren Newsgruppen<< verwandt. Ein Beispiel ist
.
Eine Nachrichtenkennung entspricht einer Nachrichtenkennung gemass IETF
RFC 1036, ohne die
einschliessenden >><<< und >>><<; sie ist von der Form
Eindeutiger@vollstandiger_Domain-Name. Eine Nachrichtenkennung kann von
einem Newsgruppennamen durch das Vorhandensein des Zeichens >>@<<
unterschieden werden.
telnet - Telnet-Anmeldung
telnet://IP-Server/
Das Telnet-URL-Schema wird zur Kennzeichnung von interaktiven
Textdiensten verwandt, auf die uber das Telnet-Protokoll zugegriffen
werden kann. Das abschliessende >>/<< kann entfallen. Der Standard-Port
ist 23. Ein Beispiel ist .
file - Normale Datei
file://IP-Server/Pfad-Segmente
file:Pfad-Segmente
Dies stellt eine lokal zugreifbare Datei oder Verzeichnis dar. Als
Spezialfall kann IP-Server die Zeichenkette >>localhost<< oder die
leere Zeichenkette sein; dies wird als >>die Maschine, von der die URL
aus interpretiert wird<< verstanden. Falls der Pfad ein Verzeichnis
ist, sollte das Anzeigeprogramm den Inhalt mit Links zu jedem
Inhaltsobjekt anzeigen, derzeit machen das nicht alle Anzeigeprogramme.
KDE unterstutzt erzeugte Dateien uber die URL . Falls
die ubergebene Datei nicht gefunden wird, konnten Browser-Programmierer
implementieren, dass der Dateiname uber Dateinamen-Globbing (siehe
glob(7) und glob(3)) expandiert wird.
Das zweite Format (z.B. ) ist ein korrektes Format
fur Bezuge zu einer lokalen Datei. Allerdings erlaubten altere
Standards dieses Format nicht und einige Programme erkennen es nicht
als URI. Eine portablere Syntax ist die Verwendung der leeren
Zeichenkette als Servernamen, beispielsweise .
Diese Form erzielt das gleiche und wird leicht durch Mustererkenner und
altere Programme als URI erkannt. Beachten Sie, dass Sie das Schema
uberhaupt nicht verwenden sollten, wenn Sie wirklich >>starte bei dem
aktuellen Ort<< angeben mochten. Verwenden Sie in diesem Fall Adressen
wie <../test.txt>, die den Nebeneffekt haben, dass sie
Schema-unabhangig sind. Ein Beispiel fur dieses Schema ist
.
man - Handbuchseiten-Dokumentation
man:Befehlsname
man:Befehlsname(Abschnitt)
Dies bezieht sich auf lokale Handbuchreferenzseiten (>>man pages<<).
Dem Befehlsnamen kann optional eine Klammer und eine Abschnittsnummer
folgen; siehe man(7) fur weitere Informationen zu der Bedeutung der
Abschnittsnummern. Dieses URI-Schema ist fur UNIX-artige Systeme (wie
Linux) speziell und ist derzeit bei der IETF nicht registriert. Ein
Beispiel ist .
info - Infoseiten-Dokumentation
info:virtueller_Dateiname
info:virtueller_Dateiname#Knotenname
info:(virtueller_Dateiname)
info:(virtueller_Dateiname)Knotenname
Dieses Schema bezieht sich auf Online-Info-Referenzseiten (die aus
Texinfo-Dateien erstellt werden). Dies ist ein von Programmen wie den
GNU-Werkzeugen verwandtes Dokumentationsformat. Dieses URI-Schema ist
fur UNIX-artige Systeme (wie Linux) speziell und ist derzeit bei der
IETF nicht registriert. Zum Zeitpunkt der Erstellung dieses Dokuments
unterschieden sich GNOME und KDE in ihrer URI-Syntax und akzeptierten
die jeweils andere Syntax nicht. Die ersten beiden Formate sind das
GNOME-Format: in Knotennamen werden alle Leerzeichen als Unterstrich
geschrieben. Die anderen beiden Formate sind das KDE-Format:
Leerzeichen in Knotennamen mussen als Leerzeichen geschrieben werden,
obwohl dies vom URI-Standard verboten ist. Es bleibt zu hoffen, dass in
der Zukunft die meisten Werkzeuge alle diese Formate verstehen werden
und immer Unterstriche fur Leerzeichen in Knotennamen akzeptieren
werden. Sowohl in GNOME als auch KDE wird bei der Form ohne Knotennamen
angenommen, dass der Knotenname >>Top<< ist. Beispiele fur das
GNOME-Format sind und . Beispiele fur
das KDE-Format sind und .
whatis - Documentationssuche
whatis:Zeichenkette
Dieses Schema durchsucht die Datenbank der kurzen (einzeiligen)
Beschreibungen von Befehlen und liefert eine Liste von Beschreibungen
zuruck, die diese Zeichenkette enthalten. Nur vollstandige Worttreffer
werden zuruckgeliefert. Siehe whatis(1). Dieses URI-Schema ist fur
UNIX-artige Systeme (wie Linux) speziell und ist derzeit bei der IETF
nicht registriert.
ghelp - GNOME-Hilfedokumentation
ghelp:Name_der_Anwendung
Dies ladt GNOME-Hilfe fur die angegebene Anwendung. Beachten Sie, dass
derzeit nicht viele Dokumentation in diesem Format existiert.
ldap - Leichtgewichtiges Verzeichniszugriffsprotokoll
ldap://Rechnerport
ldap://Rechnerport/
ldap://Rechnerport/DN
ldap://Rechnerport/DN?Attribute
ldap://Rechnerport/DN?Attribute?Geltungsbereich
ldap://Rechnerport/DN?Attribute?Geltungsbereich?Filter
ldap://Rechnerport/DN?Attribute?Geltungsbereich?Filter?Erweiterungen
Dieses Schema unterstutzt Abfragen an das leichtgewichtige
Verzeichniszugriffsprotokoll (LDAP), einem Protokoll zur Abfrage einer
Reihe von Servern fur hierarchische Informationen (wie Personen und
Rechnerressourcen). Siehe RFC 2255 fur weitere Informationen uber das LDAP-URL-Schema. Die
Komponenten dieser URL sind:
Rechnerport
Der abzufragende LDAP-Server, geschrieben als Rechnername,
optional gefolgt von einem Doppelpunkt und der Port-Nummer. Der
Vorgabe-LDAP-Port ist TCP-Port 389. Falls leer, bestimmt der
Client den zu verwendenden LDAP-Server.
DN Der >>ausgezeichnete Name<< (distinguished name) des LDAPs, der
das Basis-Objekt der LDAP-Suche identifiziert (siehe RFC 2253
Abschnitt 3).
Attribute
Eine Kommata-getrennte Liste von zuruckzuliefernden Attributen;
siehe RFC 2251 Abschnitt 4.1.5. Falls nicht angegeben, sollen
alle Attribute zuruckgeliefert werden.
Geltungsbereich
Gibt den Geltungsbereich der Suche an, der entweder >>base<<
(fur eine Basisobjekt-Suche), >>one<< (fur eine einstufige
Suche) oder >>sub<< (fur eine Unterbaum-Suche) sein kann. Falls
nicht angegeben, wird >>base<< angenommen.
filter Gibt den Suchfilter an (Teilmenge der zuruckzuliefernden
Eintrage). Falls nicht angegeben, sollen alle Eintrage
zuruckgeliefert werden. Siehe RFC 2254 Abschnitt 4.
Erweiterungen
Eine Kommata-getrennte Liste von Typ=Wert-Paaren, wobei der
=Wert-Anteil bei Optionen, die diesen nicht benotigen, entfallen
kann. Eine Erweiterung, der >>!<< vorangestellt ist, ist
kritisch (sie muss fur die Gultigkeit unterstutzt werden),
andernfalls ist sie nicht kritisch (optional).
LDAP-Anfragen sind am einfachsten an einem Beispiel zu erklaren. Hier
ist eine Abfrage, die ldap.itd.umich.edu zu Informationen uber die
Universitat von Michigan in den USA fragt:
ldap://ldap.itd.umich.edu/o=University%20of%20Michigan,c=US
Um nur das Postadressen-Attribut zu erhalten, fordern Sie Folgendes an:
ldap://ldap.itd.umich.edu/o=University%20of%20Michigan,c=US?postalAddress
Um einen host.com am Port 6666 nach Informationen uber die Person mit
dem allgemeinen Namen (cn) >>Babs Jensen<< an der Universitat von
Michigan zu fragen, fordern Sie Folgendes an:
ldap://host.com:6666/o=University%20of%20Michigan,c=US??sub?(cn=Babs%20Jensen)
wais - Weitbereichs-Informations-Server
wais://Rechnerport/Datenbank
wais://Rechnerport/Datenbank?Suche
wais://Rechnerport/Datenbank/WTyp/WPfad
Dieses Schema kennzeichnet eine WAIS-Datenbank, -Suche oder -Dokument
(siehe IETF RFC 1625 fur weitere
Informationen zu WAIS). Rechnerport ist der Rechnername, optional
gefolgt von einem Doppelpunkt und einer Port-Nummer (die
Standard-Port-Nummer ist 210).
Die erste Form kennzeichnet eine WAIS-Datenbank zum Durchsuchen. Die
zweite Form kennzeichnet eine bestimmte Suche in der WAIS-Datenbank
Datenbank. Die dritte Form kennzeichnet die Abfrage eines bestimmten
Dokuments innerhalb einer WAIS-Datenbank. WTyp ist die
WAIS-Kennzeichnung des Objekttyps und WPfad ist die
WAIS-Dokumentenkennzeichnung.
andere Schemas
Es gibt viele weitere URI-Schemata. Die meisten Werkzeuge, die URIs
akzeptieren, unterstutzen eine Reihe interner URIs (z.B. hat Mozilla
das about:-Schema fur interne Informationen und der GNOME-Hilfe-Browser
hat das toc:-Schema fur verschiedene Startorte). Es gibt viele
Schemata, die definiert wurden, aber derzeit nicht so in der Breite
genutzt werden (z.B. prospero). Das nntp:-Schema ist veraltet
(verwenden Sie stattdessen das news:-Schema). URNs werden vom
urn:-Schema mit einem hierarchischen Namensraum (z.B. wurde
urn:ietf:> IETF-Dokumente identifizieren) unterstutzt. Derzeit sind
URNs aber nicht in der Flache implementiert. Nicht alle Werkzeuge
unterstutzen alle Schemata.
Zeichenkodierung
URIs verwenden eine begrenzte Anzahl von Zeichen, so dass sie in einer
Vielzahl von Situationen eingegeben und verwandt werden konnen.
Die folgenden Zeichen sind reserviert. Dies bedeutet, dass sie in einer
URI erscheinen durfen, ihr Einsatz aber auf ihren reservierten Zweck
beschrankt ist (Daten, die dazu in Konflikt stehen, mussen maskiert
werden, bevor sie in einer URI auftauchen):
; / ? : @ & = + $ ,
Nicht reservierte Zeichen konnen in einer URI aufgenommen werden. Nicht
reservierte Zeichen schliessen lateinische Gross- und Kleinbuchstaben,
dezimale Ziffern und die folgende begrenzte Menge an Satzzeichen und
Symbolen ein:
- _ . ! ~ * ' ( )
Alle anderen Zeichen mussen maskiert werden. Ein maskiertes Oktett wird
als ein Zeichen-Triplett kodiert, das aus einem Prozentzeichen >>%<<
gefolgt von zwei hexadezimalen Ziffern, die den Oktett-Code darstellen,
besteht. Die hexadezimalen Ziffern konnen die Buchstaben in Gross- oder
Kleinschreibung verwenden. Ein Leerzeichen muss beispielsweise als
>>%20<<, ein Tabulatorzeichen als >>%09<< und das >>&<< als "%26"
maskiert werden. Da das Prozentzeichen >>%<< immer den reservierten
Zweck des Maskieranzeigers hat, muss es als >>%25<< maskiert werden. Es
ist gangige Praxis, Leerzeichen in Abfragetexten als Plus-Symbol (+) zu
maskieren. Diese Praxis ist in den relevanten RFC (die stattdessen %20
empfehlen), nicht durchgangig definiert, aber jedes Werkzeug, das URIs
mit Abfragetext akzeptiert, sollte darauf vorbereitet sein. Eine URI
wird immer in ihrer >>maskierten<< Form dargestellt.
Nicht reservierte Zeichen konnen maskiert werden, ohne dass sich die
Semantik der URI andert. Dies sollte aber nur in Umgebungen erfolgen,
bei denen das nicht maskierte Zeichen nicht auftauchen darf.
Beispielsweise wird manchmal >>%7e<< anstatt von >>~<< in einem
HTTP-URL-Pfad verwandt, aber die zwei sind fur eine HTTP-URL
aquivalent.
Fur URIs, die mit Zeichen ausserhalb des US-ASCII-Zeichensatzes umgehen
mussen, empfiehlt die HTML 4.01-Spezifikation (Abschnitt B.2) und IETF
RFC 3986 (letzter Absatz von Abschnitt 2.5) den folgenden Ansatz:
(1) Ubersetzen der Zeichenabfolge in UTF-8 (IETF RFC 3629)-siehe
utf-8(7)-und dann
(2) Verwendung des URI-Maskierungsmechanismus, d.h. die Verwendung der
%HH-Kodierung fur unsichere Oktetts.
Schreiben einer URI
Beim Aufschreiben von URLs sollten diese innerhalb doppelter englischer
Anfuhrungszeichen (z.B. "http://www.kernel.org"), in spitze Klammern
eingeschlossen (z.B. ) oder frei auf einer einzelnen
Zeile angegeben werden. Eine Warnung an alle, die in englischen Texten
doppelte englische Anfuhrungszeichen verwenden: Packen Sie niemals
uberflussige Satzzeichen (wie einen Satzpunkt, der einen Satz beendet
oder ein Komma in einer Liste) innerhalb der URI, da dies den Wert der
URI andert. Verwenden Sie stattdessen spitze Klammern oder wechseln Sie
auf ein Zitiersystem, das niemals uberflussige Zeichen innerhalb der
Anfuhrungszeichen verwendet. Diese anderen Systeme, die in der
englischen Literatur als >>new<< (neue) oder >>logical<< (logische)
Zitiersysteme von >>Hart's Rules<< und dem >>Oxford Dictionary for
Writers and Editors<< genannt werden, wird in Grossbritannien und
vielen europaischen Sprachen der Vorzug gegeben. Altere Dokumente
empfahlen, der URI den Text >>URL:<< voranzustellen, aber diese Form
hat keine Anhanger gefunden.
Die URI-Syntax wurde entwickelt, um eindeutig zu sein. Als URIs aber
Gemeingut wurden, haben traditionelle Medien (Fehrnsehen, Radio,
Zeitungen, Werbeplakate usw.) zunehmend abgekurzte URI-Referenzen
verwandt, die nur aus den Anteilen der Autoritat und dem Pfadabschnitt
der identifizierten Ressource bestehen (z.B. ).
Solche Referenzen sind primar zur menschlichen Auswertung (statt durch
Maschinen) gedacht, unter der Annahme, dass Kontext-basierte
Heuristiken ausreichen, um die URI zu vervollstandigen (z.B. wird bei
Rechnernamen, die mit >>www<< anfangen, angenommen, dass das URI-Prafix
>>http://<< ist und bei Rechnernamen, die mit >>ftp<< anfangen, dass
sie das Prafix >>ftp://<< haben). Viele Client-Implementierungen losen
diese Referenzen heuristisch auf. Solche Heuristiken konnen sich im
Laufe der Zeit andern, insbesondere wenn neue Schemata eingefuhrt
werden. Da eine abgekurzte URI die gleiche Syntax wie ein relativer
URI-Pfad hat, konnen abgekurzte URI-Referenzen nicht an Stellen
eingesetzt werden, an denen relative URIs erlaubt sind, und konnen nur
verwandt werden, wenn es keine definierte Basis gibt (wie in
Dialog-Elementen). Verwenden Sie abgekurzte URIs nicht als
Hypertext-Links innerhalb eines Dokuments, verwenden Sie das hier
beschriebene Standardformat.
STANDARDS
(IETF RFC 2396) , (HTML 4.0)
.
ANMERKUNGEN
Jedes Werkzeug auf einem Linux-System, das URIs akzeptiert (z.B. ein
Web-Browser), sollte in der Lage sein, alle hier beschriebenen Schemata
(direkt oder indirekt) zu handhaben, einschliesslich der Schemata man:
und info:. Werden hierzu andere Programme aufgerufen, ist dies
ausreichend und in der Tat sogar erwunscht.
Technisch ist das Fragment kein Teil der URI.
Fur Informationen, wie URIs (einschliesslich URLs) in ein Datenformat
eingebettet werden, siehe die Dokumentation des jeweiligen Formats.
HTML verwendet das Format Text . Texinfo-Dateien
verwenden das Format @uref{uri}. Man und Mdoc haben kurzlich das Makro
>>UR<< hinzugefugt - alternativ fugen Sie die URI einfach in den Text
ein (Anzeigeprogramme sollten in der Lage sein, das >>://<< als Teil
einer URI zu erkennen).
Die GNOME- und KDE-Desktop-Umgebungen unterscheiden sich derzeit in den
URIs, die sie akzeptieren, insbesondere in ihren jeweiligen
Hilfe-Browsern. Um Handbuchseiten aufzulisten, verwendet GNOME
, wahrend KDE verwendet, und um Info-Seiten
aufzulisten, verwendet GNOME , wahrend KDE
verwendet (der Autor dieser Handbuchseite bevorzugt hier den
KDE-Ansatz, obwohl ein noch regelmassigeres Format noch besser ware).
Im Allgemeinen verwendet KDE als Prafix, um eine
Gruppe von erstellten Dateien einzustellen. KDE bevorzugt Dokumentation
in HTML, auf die mittels zugegriffen wird.
GNOME bevorzugt das Ghelp-Schema, um Dokumentation zu speichern und zu
finden. Zum Zeitpunkt der Erstellung dieses Textes kann keiner der
Browser mit file:-Referenzen auf Verzeichnisse umgehen, wodurch es
schwierig wird, sich auf ein ganzes Verzeichnis mit einer
durchsuchbaren URI zu beziehen. Wie oben angegeben, unterscheiden sich
diese Umgebungen darin, wie sie das info:-Schema handhaben, was
wahrscheinlich der grosste Unterschied ist. Es wird erwartet, dass
GNOME und KDE zu einem gemeinsamen URI-Format zusammenfinden, und das
zukunftige Versionen dieser Handbuchseite das zusammengefuhrte Ergebnis
beschreiben. Wir begrussen alle Bemuhungen, die die Zusammenfuhrung
unterstutzen.
Sicherheit
Eine URI an sich stellt kein Sicherheitsproblem dar. Es gibt keine
allgemeine Garantie, dass eine URL, die sich zu einem Zeitpunkt unter
einer bestimmten Ressource befand, dies auch weiterhin tut. Noch gibt
es eine Garantie, dass eine URL nicht eine andere Ressource zu einem
spateren Zeitpunkt verortet. Diese Garantien konnen nur von der oder
den Person(en) erhalten werden, die den Namensraum und die in Frage
stehende Ressource kontrollieren.
Manchmal ist es moglich, eine URL zu konstruieren, so dass ein Versuch,
etwas anscheinend Harmloses durchzufuhren, wie den Abruf eines einer
Ressource zugeordneten Objektes, tatsachlich zu einer moglicherweise
beschadigenden Aktion auf dem fernen Rechner fuhren kann. Die unsichere
URL ist oft so konstruiert, dass sie eine Port-Nummer enthalt, die sich
von der unterscheidet, die fur das in Frage kommende Netzwerkprotokoll
reserviert ist. Der Client nimmt dann unbeabsichtigt Kontakt zu einer
Site auf, die tatsachlich ein anderes Protokoll ausfuhrt. Der Inhalt
der URL enthalt Anweisungen, die zu einer unbeabsichtigten Aktion
fuhren, wenn sie gemass dieses anderen Protokolls interpretiert werden.
Ein Beispiel war eine Gopher-URL, die zu einer ungewollten und jemand
anders vorgebenden Nachricht fuhrte, die uber einen SMTP-Server
versandt wurde.
Wird eine URL verwandt, die eine Port-Nummer verwendet, die sich von
der Vorgabe fur das Protokoll unterscheidet, sollte aufgepasst werden,
insbesondere wenn es eine Nummer innerhalb des reservierten Bereichs
ist.
Wenn eine URI maskierte Begrenzungen fur ein angegebenes Protokoll
enthalt (beispielsweise CR- und LF-Zeichen fur das Telnet-Protokoll),
sollte Vorsicht walten gelassen werden, dass diese Maskierung vor der
Ubertragung nicht aufgehoben wird. Dies konnte das Protokoll verletzen,
aber vermeidet die Moglichkeit, dass solche Zeichen dazu verwandt
werden, eine zusatzliche Aktion oder einen zusatzlichen Parameter in
diesem Protokoll zu simulieren, der zur Ausfuhrung von unerwarteten und
moglicherweise schadigenden Aktionen fuhren kann.
Es ist eindeutig eine sehr schlechte Idee, eine URI zu verwenden, die
geheim zu haltende Passworter enthalt. Es wird insbesondere dringend
davon abgeraten, Passworter in der Komponente >>userinfo<< zu
verwenden, ausser in den sehr seltenen Fallen, bei denen eine
Veroffentlichung des Parameters >>password<< gewunscht ist.
FEHLER
Dokumentation kann an beliebigen Orten abgelegt werden, daher gibt es
derzeit kein gutes URI-Schema fur allgemeine Online-Dokumentation in
beliebigen Formaten. Referenzen der Form
funktionieren nicht, da verschiedene Distributionen und lokale
Installationsanforderungen Dateien in verschiedenen Verzeichnissen
ablegen konnten (sie konnten in >>/usr/doc<<, >>/usr/local/doc<<,
>>/usr/share<< oder ganz woanders liegen). Auch andert sich das
Verzeichnis normalerweise, wenn sich die Version andert (obwohl die
Verwendung von Globbing das im Allgemeinen vermeiden konnte).
Schliesslich erlaubt das file:-Schema keine leichte Unterstutzung fur
Leute, die Dokumentation dynamisch aus dem Internet laden (anstatt der
Ablage der Dateien auf einem lokalen System). Es konnte zukunftig ein
URI-Schema hinzugefugt werden (z.B. >>userdoc:<<), um es Programmen zu
erlauben, Kreuzreferenzen auf detailliertere Dokumentation aufzunehmen,
ohne den genauen Ablageort dieser Dokumentation zu kennen. Alternativ
konnte eine zukunftige Version der Dateisystemspezifikation Dateiorte
ausreichend festlegen, so dass das file:-Schema in der Lage ist,
Dokumentation zu verorten.
Viele Programme und Dateiformate enthalten keine Moglichkeit, Links
mittels URIs aufzunehmen oder zu integrieren.
Viele Programme konnen alle diese verschiedenen URI-Formate nicht
handhaben. Es sollte einen Standardmechanismus geben, um eine beliebige
URI zu laden, der dann automatisch die Umgebung des Benutzers erkennt
(z.B. Text oder graphisch, Desktop-Umgebung, lokale
Benutzervoreinstellungen und aktuell ausgefuhrte Werkzeuge) und das
richtige Werkzeug fur jede URI aufruft.
SIEHE AUCH
lynx(1), man2html(1), mailaddr(7), utf-8(7)
IETF RFC 2255
UBERSETZUNG
Die deutsche Ubersetzung dieser Handbuchseite wurde von Helge
Kreutzmann erstellt.
Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General
Public License Version 3
oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG
ubernommen.
Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden,
schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer
.
Linux man-pages 6.06 31. Oktober 2023 uri(7)