Zusammenfassung
- Relative Referenzen lassen aus, was eine bekannte Basis bereits liefert. Das spart Wiederholung und lässt Gruppen von Dokumenten gemeinsam umziehen.
- Auflösung ist eine deterministische syntaktische Transformation: absolute Basis bestimmen, Komponenten erben oder ersetzen, Pfade verschmelzen, Punktsegmente entfernen und das Ziel wieder zusammensetzen.
- Eine relative Referenz allein ist kein stabiler globaler Bezeichner; Beweise, Signaturen und Audits müssen die gewählte Basis oder das aufgelöste absolute Ziel bewahren.
Das Dokument kannte einen Teil der Adresse bereits
Ein absoluter Locator wiederholt Schema, Authority und häufig den größten Teil des Pfads. Das Dokument, das die Links enthält, ist jedoch schon von irgendwoher gekommen. Dieser Ort liefert Kontext.
RFC 1630, Tim Berners-Lees Vorschlag von 1994, beschrieb partielle Formen innerhalb eines Objekts mit bekannter URI. Dabei ging es nicht nur um weniger Zeichen. Verwandte Objekte konnten gemeinsam verschoben werden, ohne jede Verbindung umzuschreiben; Änderungen weiter oben im Pfad blieben den lokalen Dokumenten verborgen.
Außerhalb eines kontrollierten Kontexts sollte dagegen die vollständige Form verwendet werden. Ein kurzer Link führt das Ausgelassene nicht mit sich. Seine Beweglichkeit besteht nur, wenn die Basis mitreist oder zuverlässig rekonstruiert wird.
Schrägstriche sowie die vollständigen Segmente . und .. drückten Hierarchie aus. Auch der abschließende Schrägstrich war entscheidend: Eine verzeichnisähnliche und eine ressourcenähnliche Basis verleihen nicht denselben Pfad.
Die relative URL wurde zur standardisierten Transformation
RFC 1808 definierte im Juni 1995 eine relative URL gegenüber einer absoluten Basis. Die Basis lieferte Schema, Netzwerkort und einen Pfadanteil; die Referenz beschrieb die Abweichung.
Das war keine Zeichenkettenverkettung. Eine Referenz mit Schema war absolut. Eine Netzwerkform ersetzte die Authority. Ein führender Schrägstrich ersetzte den Pfad ab der Wurzel. Ein relativer Pfad wurde mit der Basis verschmolzen. Query und Fragment folgten eigenen Regeln.
Zog eine Sammlung bei unveränderter Hierarchie um, blieben ihre relativen Links gültig. Ein absoluter Link verwies weiterhin auf die alte Authority. Die beiden Schreibweisen erklärten unterschiedliche Abhängigkeiten.
HTML trug den fehlenden Kontext
RFC 1866, HTML 2.0 von 1995, erlaubte relative Ziele in Ankern, Links, Bildern, Eingaben und Formularen. Ein optionales BASE gab dem Dokument eine absolute Adresse, wenn es außerhalb seines Abrufkontexts gelesen wurde.
Diese Bequemlichkeit bündelte Kontrolle. Eine eingesetzte Basis interpretierte sämtliche relativen Ziele neu. Weil sie die Wiederholung eines Präfixes ersparte, konnte eine Änderung dieses Präfixes den gesamten Linkgraphen beeinflussen.
Die Basis ist deshalb keine bloß sichtbare oder beschreibende Metainformation. Sie wirkt an der Identität mit; Entfernen, Austauschen oder Auflösen in einer anderen Phase verändert die Entscheidung.
Die generische Syntax trennte Vererbung nach Komponenten
RFC 2396 verallgemeinerte 1998 die Auflösung auf URI-Referenzen. Schema, Authority, Pfad, Query und Fragment wurden zunächst zerlegt und anschließend geliefert, geerbt oder ersetzt.
Bei einem relativen Pfad fällt das letzte Segment der Basis weg, die Referenz wird angefügt und Punktsegmente werden verarbeitet. Deshalb ist ein abschließender Schrägstrich bedeutsam. Ein URI-Pfad ist aber nicht automatisch ein Dateisystempfad: Nur . und .. als vollständige Segmente haben die generische Funktion; Punkte innerhalb eines Namens sind Daten.
Die Auflösung fragt keinen Server ab. Sie erzeugt einen Bezeichner. Abruf, Weiterleitung, Autorisierung und Existenzprüfung folgen erst danach.
Der heutige Vertrag wählt zuerst eine Basis
RFC 3986 verlangt eine bekannte Basis, abgesehen vom engen Fall einer Fragmentreferenz. Die Basis ist absolut; ihr eigenes Fragment wird vor der Auflösung entfernt.
Die Rangfolge lautet: im Inhalt eingebettete Basis, Basis der umschließenden Entität, Abruf-URI und schließlich eine Vorgabe der Anwendung. Aus mehreren Kontextquellen wird damit ein wirksamer Eingangswert.
Eine Referenz mit Schema liefert ihre Komponenten. // erbt das Schema und ersetzt die Authority. / erbt Schema und Authority und ersetzt den Pfad. Ein relativer Pfad wird mit allen Segmenten der Basis bis auf das letzte verschmolzen; bei vorhandener Authority und leerem Basispfad beginnt die Verschmelzung mit /.
Ein leerer Referenzpfad erbt den Basispfad und, wenn keine Query vorhanden ist, auch dessen Query. Das Fragment des Ziels stammt aus der Referenz.
Punktsegmente waren vorübergehende Anweisungen
remove_dot_segments arbeitet nach Zerlegung und Verschmelzung. Ein vollständiges . fügt keine Ebene hinzu; .. entfernt eine vorherige, soweit vorhanden. Überschüssige Elternschritte folgen dem Algorithmus und durchqueren keine gedachte universelle Wurzel.
Das Verfahren ist syntaktisch und prüft keine Verzeichnisse. Selbst „dasselbe Dokument“ wird nach der Auflösung durch Vergleich von absolutem Ergebnis und Basis entschieden, nicht anhand der Kürze der Schreibweise.
Beweglichkeit war eine kontrollierte Abhängigkeit
Relative Links machten eine Sammlung verlegbar, weil ihre internen Beziehungen keinen dauerhaften Host benannten. Die fehlende Adresse musste dennoch stets aus Dokument, Container, Abruf oder Anwendung kommen.
Ein Beleg, der nur ../quelle enthält, verliert getrennt von seiner Basis seine Bedeutung. Ein Manifest, das den kurzen Text, aber nicht die Basis signiert, lässt einen Teil des Ziels unsigniert. Ein Protokoll nur mit dem Ergebnis zeigt nicht, welche Entscheidung es erzeugt hat.
Dauerhafte Evidenz hält daher die ursprüngliche Referenz, die gewählte Basis und – wenn gehandelt wurde – das aufgelöste Ziel fest.
Quellen
- RFC 1630, Universal Resource Identifiers in WWW: https://www.rfc-editor.org/rfc/rfc1630.html
- RFC 1808, Relative Uniform Resource Locators: https://www.rfc-editor.org/rfc/rfc1808.html
- RFC 1866, Hypertext Markup Language — 2.0: https://www.rfc-editor.org/rfc/rfc1866.html
- RFC 2396, Uniform Resource Identifiers (URI): Generic Syntax: https://www.rfc-editor.org/rfc/rfc2396.html
- RFC 3986, Uniform Resource Identifier (URI): Generic Syntax: https://www.rfc-editor.org/rfc/rfc3986.html
Diese Standards belegen Geschichte und Algorithmus, nicht die Eigenheiten heutiger Browser oder die Sicherheit einer bestimmten Anwendung.
Mitgliederbriefing
Detaillierter Profilkontext
Melden Sie sich mit der richtigen Mitgliedschaftsstufe an, um das vollständige Briefing und die Quellennotizen freizuschalten.
Nur für Strategic Circle
Strategic Circle
Offen für alle Leser. Schalten Sie Profil-Briefings nach Beitritt und Anmeldung frei.
Strategic Circle beitretenNur für Leadership Alliance
Leadership Alliance
Für qualifizierte Inhaber von IP-Assets und Management; melden Sie sich an, um Leadership-Alliance-Briefings freizuschalten.
Leadership Alliance beitreten
