Inhaltsverabredung

(Auszug aus "XML in a Nutshell" von Elliotte Rusty Harold & W. Scott Means)

HTTP-Clients und -Server unterstützen eine Vielzahl von accept-Headern, die angeben, welche Art von Inhalt der Client empfangen kann. Beispielsweise gibt diese Browser-Anfrage an, dass der Client Französisch vorzieht, aber auch Englisch akzeptiert. Er kann mit HTML, einfachem Text und JPEG-Bildern umgehen. Er weiß, wie man Daten dekodiert, die mit gzip komprimiert wurden, und erkennt die ASCII- und Latin-1-Zeichensätze sowie die UTF-8-Kodierung des Unicode-Zeichensatzes.

GET /index.html HTTP/1.1
User-Agent: Mozilla/4.6 [en] (WinNT; I)
Host: www.cafeaulait.org
Accept: text/html, text/plain, image/jpeg
Accept-Encoding: gzip
Accept-Language: fr, en
Accept-Charset: us-ascii, iso-8859-1,utf-8
Connection: close
If-Modified-Since: Sun, 31 Oct 1999 19:22:07 GMT

Der Server, der diese Anfrage empfängt, nutzt diese Header, um zu entscheiden, welche Version einer Ressource er an den Client schickt. Dieselbe URL kann in Abhängigkeit davon, wie diese Header gesetzt sind, unterschiedliche Inhalte liefern. Bei Browsern wird das üblicherweise durch Benutzervorgaben gesteuert. Aber XInclude ermöglicht es, zwei von diesen Headern über Attribute zu steuern: accept und accept-language. Jedes xi:include-Element kann ein accept- und/oder accept-language-Attribut haben. Die Werte dieser Attribute sollten zulässige Werte für die entsprechenden HTTP-Header-Felder sein. Wenn eines oder beide dieser Attribute vorhanden sind, dann fügt der XInclude-Prozessor dem HTTP-Request, den er an den Server schickt, die entsprechenden HTTP-Header hinzu. Beispielsweise zeigt dieses xi:include-Element an, dass Sie die französische HTML-Version der Google-Homepage einschließen wollen:

<xi:include href="http://www.google.com" parse="text" accept-language="fr" accept="text/html"/>

Dieses xi:include-Element zeigt an, dass Sie die englische XML-Version von Google einschließen wollen:

<xi:include href="http://www.google.com" accept-language="en" accept="application/xml"/>

accept und accept-language können beide gemeinsam beliebig mit parse="xml" und parse="text" eingesetzt werden.

Es ist natürlich nicht notwendigerweise wahr, dass jede beliebige URL eine Version in der Sprache und dem Inhaltstyp hat, den Sie anfordern. Die meisten Server liefern einfach immer dieselbe Seite in derselben Sprache zurück, egal welche accept-Header angegeben werden. Bei den Servern, die verschiedene Übersetzungen und Formate derselben Ressource bieten, ermöglichen es Ihnen diese beiden Attribute jedoch anzugeben, welche Sie vorziehen.

  

<< zurück vor >>

 

 

 

Tipp der data2type-Redaktion:
Zum Thema XML bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

  


Copyright © 2005 O'Reilly Verlag GmbH & Co. KG
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "XML in a Nutshell" denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

O’Reilly Verlag GmbH & Co. KG, Balthasarstraße 81, 50670 Köln, kommentar(at)oreilly.de