Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

Fragmentbezeichner

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

Inhalt5 Abschnitte
  1. 1. Definition und Funktionsweise
  2. 2. Aufbau und erlaubte Zeichen
  3. 3. Mögliche Formate
  4. 4. Typische Anwendungen
  5. 5. Fragmente in SVG

Definition und Funktionsweise

Ein Fragmentbezeichner (englisch fragment identifier) ist ein optionaler Bestandteil eines URI. Er bezeichnet eine Untereinheit oder einen bestimmten Teil einer Ressource, etwa einen Abschnitt eines Dokuments, eine PDF-Seite oder eine Stelle in einem Video.

In Client-Server-Systemen wird der Fragmentbezeichner nicht an den Server übertragen. Der Server liefert stets die vollständige Ressource; erst der Client, beispielsweise ein Webbrowser oder ein clientseitiges Skript, wertet das Fragment aus. Seine Bedeutung hängt vom Ressourcentyp und vom verwendeten Parser ab. Anders als ein Fragmentbezeichner wird ein Query-String, der mit ? beginnt, an den Server übermittelt.

Da der Server das Fragment nicht kennt, kann er keine Fehlermeldung oder Weiterleitung ausgeben, wenn der bezeichnete Teil nicht mehr existiert oder in eine andere Ressource verschoben wurde.

Aufbau und erlaubte Zeichen

Der Fragmentbezeichner steht, sofern vorhanden, immer am Ende eines URI. Er wird durch # eingeleitet und reicht bis zum Ende des URI. Das Zeichen # selbst gehört nicht zum Fragmentbezeichner; dieser besteht nur aus dem nachfolgenden Teil.

Beispiel: In https://example.org/path/to/resource#fragment lautet der Fragmentbezeichner fragment. Bei https://example.org/path/to/resource# ist er leer; damit ist wie bei https://example.org/path/to/resource die gesamte Ressource gemeint. Diese beiden URLs sind gleichbedeutend.

Nach RFC 2396, Abschnitt 4.1 in Verbindung mit Abschnitt 2, sind folgende Zeichen erlaubt:

  • nicht reservierte Zeichen: a–z, A–Z, 0–9, ., ~, _, -
  • sogenannte sub-delims: !, $, &, ', (, ), *, +, ,, ;, =
  • weitere Zeichen: :, @, /, ?

Alle anderen Zeichen müssen prozent-kodiert werden. Für Nicht-ASCII-Zeichen ist im Allgemeinen kein Zeichensatz vorgeschrieben; UTF-8 gilt inzwischen jedoch als Quasi-Standard.

Mögliche Formate

Abhängig vom Ressourcentyp kann der Fragmentbezeichner einem genormten Format folgen. Möglich sind beispielsweise:

  • ein für Menschen lesbarer Name, etwa ein Kapitelname: #Form_und_Gr%C3%B6%C3%9Fe
  • ein nicht unmittelbar verständlicher, automatisch erzeugter Hash oder eine fortlaufende Nummer: #b95d534fe38e
  • ein Name-Wert-Paar oder mehrere Paare, ähnlich einem Query-String und häufig durch & oder ; getrennt: #line=10,20;length=9876,UTF-8

Webframeworks können auch umfangreiche Daten und komplexere Formate in Fragmentbezeichnern unterbringen.

Typische Anwendungen

Fragmentbezeichner werden meist an einen URI beziehungsweise eine URL angehängt, um einen Teil eines Dokuments oder Mediums anzusprechen.

  • HTML: https://example.com/document.html#anker1 verweist auf das Element mit name="anker1" oder id="anker1".
  • XML: https://example.com/document.xml#xpointer(//Kamel) soll mithilfe eines XPointer alle XML-Elemente namens „Kamel“ in document.xml auswählen.
  • PDF: https://example.com/document.pdf#page=123 bezeichnet Seite 123.
  • Audiovisuelle Medien: Ein Fragment kann einen Zeitpunkt, Ausschnitt oder ein Kapitel festlegen. Schlüsselwörter wie track, t oder id und die Bedeutung ihres Wertes hängen vom Medium ab. https://example.com/video.mp4#t=40 soll zur 40. Sekunde springen.
  • Textfragment: Ein geeigneter Browser kann angewiesen werden, Text browserabhängig hervorzuheben. https://example.org/path/to/resource#:~:text=illustrative%20examples markiert die Textstelle illustrative examples.

Fragmente in SVG

Die SVG-Spezifikation (Scalable Vector Graphics) ermöglicht über Fragmentbezeichner den Zugriff auf unterschiedliche Elemente innerhalb derselben Vektorgrafik. So können beispielsweise mehrere Icons einer grafischen Benutzeroberfläche in einer gemeinsamen SVG-Datei gespeichert und einzeln referenziert werden. Auch hier trennt # den Fragmentbezeichner vom Ressourcennamen; die Angabe muss dabei nicht Bestandteil eines URI sein.

Lernvideos zu Fragmentbezeichner

Weiterlesen