2009-02-27 6 views

Antwort

192

Weder. Es ist application/rss+xml http://www.rssboard.org/rss-mime-type-application.txt

+5

Ich stimme dies die richtige Art ist, aber es scheint nicht gut von Web-Browsern verstanden werden. Es sieht aus wie (leider) Text/XML ist jetzt ein De-facto-Standard. –

+0

@SamuelEUSTACHI Sie haben Recht, und die angenommene Antwort ist wahrscheinlich nicht die beste, um die Kompatibilität zu gewährleisten, wie gewünscht. Tim Bray zurück im Jahr 2003: "Auf die eine oder andere Weise denke ich, dass es wahrscheinlich wichtig ist, dass die Community sich zusammenreißt und beschließt, welchen Medientyp sie verwenden und verwenden soll." Heute: Siehe meine Antwort unten für Beweise, dass so ziemlich alle * populären Feeds 'text/xml' verwenden. –

2

Sie konnte Verwendung text/xml, aber der richtige MIME-Typ würde application/rss+xml sein.

+2

'application/xml' wird gegenüber' text/xml' bevorzugt, da XML normalen Codierungsregeln für den Textinhalt nicht folgt. Es kann seine Codierung in seine Daten einbetten, was zu Problemen führen wird, wenn Proxies versuchen, den Text blind zu transcodieren. Mit anderen Worten, Proxies werden angewiesen, die Daten Byte für Byte zu bewahren. – Zenexer

2

Gehen Sie für MIME application/rss+xml, um sicher zu sein, wenn Sie sicherstellen möchten, dass Ihr Feed mit RSS-Lesegeräten und anderen Scraper kompatibel ist. Das ist was ich benutze.

24

Andere Kommentatoren haben darauf hingewiesen, dass der einzige korrekte Mime-Typ application/rss+xml, ist.

Wenn Sie jedoch ein setzen Header für einen Kunden übernehmen dann

Accept: application/rss+xml, application/rdf+xml;q=0.8, application/atom+xml;q=0.6, application/xml;q=0.4, text/xml;q=0.4

könnte eine gute Wahl sein, wie es heißt, dass es akzeptiert RSS, Atom und XML (in absteigender Reihenfolge oder Bevorzugung).

+0

Robert können Sie ein bisschen mehr erklären, wie die Bestellung funktioniert. –

+3

Die Accept-Header-Reihenfolge teilt dem Server mit, welcher Inhalt verwendet werden soll. Server wird sehen, ob es das erste, dann das zweite usw. anbieten kann ... Deshalb ist "application/rss + xml" die beste erste Wahl und "text/xml" als finales Fallback ist gut. –

+3

Tatsächlich ist die Reihenfolge der Elemente im Accept-Header irrelevant. [Präferenz wird mit dem Parameter 'q' angezeigt] (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.1), für den gewünschten Effekt wäre es besser, 'Accept 'zu senden : application/rss + xml, application/rdf + xml, application/atom + xml, application/xml; q = 0.9, text/xml; q = 0.8', was bedeutet "Lieber einen der korrekten MIME-Typen für Feeds bevorzugen. Wenn Sie können das nicht anbieten, bevorzugen Sie "application/xml". Wenn Sie das nicht anbieten können, bevorzugen Sie 'text/xml'. Ansonsten geben Sie mir einfach, was Sie haben" –

0

Text/XML ist die einzige richtige Antwort. Mime-Typen sind ein registrierungsbasiertes System. Es gibt eine offizielle Liste von IANA (Internet Assigned Numbers Authority) verwaltet bei http://www.iana.org/assignments/media-types/media-types.xhtml

+1

Nicht alle MIME-Typen auf der Welt sind bei IANA registriert. Noch wichtiger ist, dass nichts in diesem Dokument eine Verwendung für RSS vorschlägt. –

+0

RSS ist XML. Es schlägt Verwendung für XML vor. –

+2

Dieses Argument ist nicht ausreichend. RSS ist auch RDF. XML ist auch Text. Aus diesem Grund könnte ein RDF- oder Text-MIME-Typ auch gut sein. Das Problem ist jedoch, dass nicht alle XML-Dokumente RSS sind. Ein generischer XML-Typ ist also nicht spezifisch genug, um RSS eindeutig zu identifizieren. –

10

Hier ist eine pragmatische Antwort: Was auch immer die „richtige“ Antwort sein kann (und klar ist es Debatte darüber), text/xml ist die Art von ziemlich verwendet viel alle die beliebten Feeds da draußen in freier Wildbahn.

Hier sind ein paar, die ich überprüft:

$ for f in \ 
    https://feeds.feedburner.com/TechCrunch/ \ 
    http://feeds.bbci.co.uk/news/video_and_audio/news_front_page/rss.xml \ 
    http://rss.nytimes.com/services/xml/rss/nyt/HomePage.xml \ 
    https://daringfireball.net/thetalkshow/rss \ 
    http://www.npr.org/rss/podcast.php?id=381444908 \ 
    http://feeds.serialpodcast.org/serialpodcast \ 
    http://podcasts.joerogan.net/feed \ 
    https://feeds.feedburner.com/thetimferrissshow \ 
    http://feed.thisamericanlife.org/talpodcast ; do \ 
    curl -s -I $f | fgrep -i Content-Type: ; done 
content-type:text/xml; charset=UTF-8 
Content-Type: text/xml 
Content-Type: text/xml 
Content-Type: text/xml;charset=UTF-8 
Content-Type: text/xml;charset=UTF-8 
Content-Type: text/xml; charset=UTF-8 
Content-Type: text/xml; charset=UTF-8 
content-type:text/xml; charset=UTF-8 
Content-Type: text/xml; charset=UTF-8 

So können Sie sicher sein, dass text/xml korrekt durch häufig verwendete RSS-Clients interpretiert werden.

2

Die richtige ist application/rss+xml

Die kompatibelapplication/xml

ist W3C Nach:

RSS-Feeds als application/rss + xml (RSS 1.0 bedient werden soll ist ein RDF Format, so kann es stattdessen als application/rdf + xml serviert werden). Atom Feeds sollten Anwendung/Atom + XML verwenden.Alternativ dazu kann für Kompatibilität mit weit verbreiteten Webbrowsern jeder dieser Feeds einen der allgemeineren XML-Typen verwenden - vorzugsweise application/xml.

https://validator.w3.org/feed/docs/warning/UnexpectedContentType.html

Verwandte Themen