HTTP Range-14

HTTP Range-14#

Quelle: https://ldapwiki.com/wiki/URL

Welche Aussage ist korrekt?

Die URL https://de.wikipedia.org/wiki/Faust._Eine_Tragödie wird offensichtlich in zweierlei Weise verwendet:

  • Identifiziert sie das literarische Werk Faust I?

  • Oder identifiziert sie das Wikipedia-Dokument, das den Faust I beschreibt, und das im Jahr 2021 33 mal editiert wurde?

Wir wechseln das Beispiel, um mit Standard-Dokumenten kompatibel zu sein: Wir gehen auf einen Wetterbericht über. Also:

  • Identifiziert ein IRI wie z.B. https://www.windfinder.com/forecast/st_leon_lake eine Entität in der Welt, wie z.B. das Wetter am St. Leoner See, oder

  • identifiziert der IRI ein Dokument (oder eine Datei oder eine bestimmte Kopie einer Datei), das über dieses Wetter Auskunft gibt?

Was durch eine URL bezeichnet wird, wurde im historischen Grundlagen-Dokument Architecture of the World Wide Web, Volume One https://www.w3.org/TR/webarch/ definiert. ABER diese Abbildung aus dem Dokument https://www.w3.org/TR/webarch/ enthält ein Problem, und entspricht nicht mehr den heutigen Empfehlungen:

Quelle: https://www.w3.org/TR/webarch/#intro

In dieser historischen Abbildung aus dem Jahr 2004 identifiziert ein IRI wie http://weather.example.com/oaxaca (resp. im obigen Beispiel https://www.windfinder.com/forecast/st_leon_lake)

  • offensichtlich nicht das Dokument, welches über das Wetter in Oaxaca Auskunft gibt,

  • sondern das Wetter in St. Leon selbst.

Das Problem ist bestens bekannt unter HTTPRange-14-Problem. Lösung:

  • Ein SlashURI (also ohne “#” Hash-Zeichen) bezeichnet das Dokument (oder genauer: die Informations-Resource), die man auf eine http-Anfrage bekommt.

  • Ein HashURI (also mit “#” Hash-Zeichen) bezeichnet eine beliebige Entität in der Welt, die nicht unbedingt durch eine eigene SlashURI repräsentiert sein muss.

Heute würden wir diese Abbildung anders gestalten: Im Unterschied zu obiger Abbildung aus 2004 bezeichnet ein SlashURI heute eigentlich direkt http-adressierbares Dokument; ein HashURI kann beliebiges bezeichnen.

Diese Konvention wird auch empfohlen in: Empfehlung für die RDF-Repräsentation bibliografischer Daten (Textressourcen). Erstellt von Kett-Hauser, Julia, zuletzt geändert von Rühle, Stefanie am 2019-10-08. (Bei dieser Webseite handelt es sich um eine inhaltsgleiche Webversion zur PDF-Publikation “Empfehlungen zur RDF-Repräsentation bibliografischer Daten / DINI-AG KIM Gruppe Titeldaten. (DINI-Schriften - 14) Version 2.0. November 2018.”, urn:nbn:de:kobv:11-110-18452/2153.3-7) https://wiki.dnb.de/pages/viewpage.action?pageId=68060017

Obige Abbildung zum Wetter in Oaxaca würde man heute eigentlich so nicht mehr interpretieren. Um das Oaxaca-Wetter zu identifizieren, würde man heute eine eher eine HashURI verwenden, z.B. http://weather.example.com/forecast#oaxaca. Der Webserver würde dann wissen, dass er eine eine Datei zurückliefern muss, die einen Wetterbericht enthält, und erwartungsgemäß das Wetter in Oaxaca beschreiben.

Gemäß dieser Konvention sollten Terminologen Terme als Hash-URI notieren. Dann kann der vor dem Hash- (“#”) Zeichen stehende SlashURI ein Dokument denotieren, in dem wir Informationen über unseren Term erwarten dürfen. Im Idealfall liefert uns bei einer http-Anfrage die Content Negotiation eine Datei vom Typ RDF (z.B. in Formaten wie JSON, RDF/XML oder Turtle) zurück, in der wir mindestens ein RDF-Tripel erwarten dürfen, bei dem dem die Hash URI in Subjekt-Position steht. (Wenn wir Pech haben, liefert uns die Content Negotiation ein html-Dokument zurück; dann dürfen wir immerhin erwarten, dass es zu dem Fragment Identifier ein @id-Attribut gibt, der ein Textfragment identifiziert: Auch die Pragmatik von HashURIs ist in der Praxis vielfältig.)

RDF uses IRIs, which may include fragment identifiers, as resource identifiers. The semantics of fragment identifiers is defined in RFC 3986 [RFC3986]: They identify a secondary resource that is usually a part of, view of, defined in, or described in the primary resource, and the precise semantics depend on the set of representations that might result from a retrieval action on the primary resource. https://www.w3.org/TR/rdf11-concepts/#section-fragID

Vertiefung:

2023-04-23: Nocheinmal eine gute Zusammenfassung gefunden:

Beispiel hier:

The same URI <http://en.wikipedia.org/wiki/Moby-Dick> might end up meaning: the Wikipedia page about Moby Dick; the novel Moby Dick; the whale Moby Dick