Fragmentbezeichner

Als Fragmentbezeichner (englisch fragment identifier) ist ein optionaler Teil eines URI und wird dazu benutzt, eine Untereinheit oder einen Teil einer Ressource zu spezifizieren oder zu adressieren.

Verwendung

Im Gegensatz zum durch ein vorgestelltes Fragezeichen (?) gekennzeichneten Query-String werden Fragmentbezeichner bei client-server-basierten Systemen nicht an den Server übermittelt. Es wird also stets die komplette Ressource vom Server angefordert. Die Auswertung des Fragmentbezeichners erfolgt allein im Client (und kann im Beispiel von Webbrowsern auch von clientseitigen Skripten ausgewertet werden) und seine Interpretation und Bedeutung hängt unter anderem vom Typ der angeforderten Ressource ab.

Da der Server den Fragmentbezeichner nicht kennt, kann er auch keine Fehlermeldungen oder Redirects an den Client zurückgeben, falls z. B. ein – über den Fragmentbezeichner spezifizierte – Abschnitt eines Dokumentes nicht mehr existiert oder in ein anderes Dokument verschoben wurde.

Syntax

Der Fragmentbezeichner ist – sofern vorhanden – stets der letzte Teil eines URI. Er wird durch ein Doppelkreuz (#) eingeleitet und erstreckt sich bis zum Ende des URI. Das Doppelkreuz selbst gehört dabei nicht zum Fragmentbezeichner, sondern nur der Teil danach.

syntaktische Beispiele
URLBedeutung
https://example.org/path/to/resource#fragment Der Fragmentbezeichner ist fragment
https://example.org/path/to/resource# Der Fragmentbezeichner ist leer, es ist die gesamte Ressource gemeint. Beide URLs sind gleichbedeutend
https://example.org/path/to/resource


Gemäß RFC 2396, Abschnitt 4.1 in Verbindung mit Abschnitt 2, dürfen folgende Zeichen in einem Fragmentbezeichner enthalten sein:

Je nach Typ der referenzierten Ressource kann der Fragmentbezeichner ein bestimmtes, genormtes Format haben. Üblich sind beispielsweise (hier zur Veranschaulichung mit Doppelkreuz dargestellt, wie es am Ende einer URL dargestellt wird):

Es gibt aber auch komplexere Formate und Webframeworks, die umfangreiche Daten in den Fragmentbezeichner kodieren.

Beispiele

Fragmentbezeichner werden üblicherweise einer URI (also auch einer URL) hinzugefügt, um Teile eines Dokuments zu adressieren. Der Fragmentbezeichner wird in diesem Fall mit dem Rautezeichen (#) in der URI gekennzeichnet. Er steht optional am Ende einer URI.

Die Interpretation des Fragmentbezeichners ist abhängig von der Art der Ressource und dem Parser. Beispiele:

Die Scalable-Vector-Graphics-Spezifikation (SVG) erlaubt den Zugriff auf verschiedene Elemente innerhalb derselben Vektorgrafik über Fragmentbezeichner. Dadurch ist es beispielsweise möglich, verschiedene Icons einer grafischen Benutzeroberfläche in einer gemeinsamen SVG-Datei vorzuhalten und bei Bedarf nur das gewünschte Icon zu referenzieren. Der Fragmentbezeichner wird auch in diesem Fall mit einem Doppelkreuz vom Namen der Ressource abgetrennt, muss aber kein Teil einer URI sein.

Einzelnachweise

  1. ↑ RFC: 2396 – Uniform Resource Identifier. 1998, Abschnitt 4.1: Fragment Identifier. (englisch).
  2. ↑ RFC: 5147 – URI Fragment Identifiers for the text/plain Media Type. 2008, Abschnitt 5: Examples. (englisch).
  3. ↑ Media Fragments URI 1.0 (basic), W3C
  4. ↑ URL Fragment Text Directives, W3C
  5. ↑ Chris Coyier: How SVG Fragment Identifiers Work. In: CSS Tricks. 29. Januar 2017, abgerufen am 16. Januar 2019 (englisch).