Ich habe eine Ressource mit einer URL, die sowohl Menschen als auch Maschinen sollten lesen können:Der beste Weg, um sich für eine XML- oder HTML-Antwort zu entscheiden?
http://example.com/foo-collection/foo001
Was ist der beste Weg zwischen menschlichen Browsern und Maschinen, und kehrt entweder HTML oder eine domäne zu unterscheiden spezifische XML-Antwort?
(1) Das Akzeptieren Feld in der Anfrage?
(2) Ein zusätzliches Bit der URL? zB:
http://example.com/foo-collection/foo001 -> liefert HTML
http://example.com/foo-collection/foo001?xml -> zurückgibt, äh, XML
Ich möchte keine Maschinen Lesen der Ressource verpflichten, HTML (oder XHTML für diese Angelegenheit) zu analysieren. Maschinen wie der Googlebot sollten die HTML-Antwort erhalten.
Es ist vernünftig anzunehmen, dass ich die Maschinenleser kontrolliere.
Da jedes Programm, das XML benötigt, ein Programm ist, das ich kontrolliere, kann es nicht immer eine eingefügte URL ändern? (Ich bin ein bisschen ein Verteidiger des Teufels - ich mag den Klang dieses Schemas). –
Sicher, Sie könnten immer auf zusätzliche Konventionen, aber das wäre immer "Johns Sonderangebot". Mit dem Accept-Header kommunizieren Sie eindeutig, dass es sich um eine Ressource handelt, und Sie unterscheiden nach dem einzigen relevanten Kriterium - welches Format benötigen Sie zu einem bestimmten Zeitpunkt? –