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)