2009-02-27 8 views

risposta

192

Nessuno dei due. E 'application/rss+xml http://www.rssboard.org/rss-mime-type-application.txt

+5

Sono d'accordo questo è il tipo corretto, tuttavia, non sembra essere ben compreso dai browser web. Sembra (purtroppo) che text/xml sia ora uno standard di fatto. –

+0

@ SamuelEUSTACHI hai ragione e la risposta accettata probabilmente non è la migliore per garantire la compatibilità, come richiesto. Tim Bray nel 2003: "in un modo o nell'altro penso che sia probabilmente importante che la comunità agisca insieme e decida quale tipo di media usare e inizi a usarlo". Oggi: vedi la mia risposta di seguito per le prove che quasi tutti i feed * popolari * usano 'text/xml'. –

2

È potrebbe uso text/xml, ma il tipo MIME corretto sarebbe application/rss+xml.

+2

'application/xml' è preferito su' text/xml' perché XML non segue le normali regole di codifica del contenuto del testo. Può incorporare la sua codifica nei suoi dati, che causerà problemi se i proxy provano a transcodificare ciecamente il testo. In altre parole, i proxy sono incaricati di conservare i dati byte per byte. – Zenexer

2

Vai per MIME application/rss+xml per sicurezza se desideri assicurarti che il tuo feed sia compatibile con lettori RSS e altri scrapers. Questo è quello che uso.

24

Altri commentatori hanno sottolineato che il singolo tipo mime corretto è application/rss+xml,.

Tuttavia, se si sta impostando una accettare intestazione per un cliente poi

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

potrebbe essere una buona scelta, in quanto afferma che accetta i feed RSS, Atom, e XML (in ordine o preferenza decrescente).

+0

Robert puoi spiegare un po 'di più come funziona l'ordinamento. –

+3

L'ordine di intestazione accetta indica al server quale contenuto utilizzare. Il server vedrà se può offrire il primo, poi il secondo ecc ... Ecco perché "application/rss + xml" è la migliore scelta e "text/xml" come fallback finale è buono. –

+3

In effetti, l'ordine degli elementi nell'intestazione Accept è irrilevante. [La preferenza è indicata con il parametro 'q'] (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.1), quindi per l'effetto desiderato sarebbe meglio inviare' Accept : application/rss + xml, application/rdf + xml, application/atom + xml, application/xml; q = 0.9, text/xml; q = 0.8', che significa "Preferisci uno dei tipi MIME corretti per i feed. non puoi offrirlo, preferisci 'application/xml'. Se non puoi offrirlo, preferisci' text/xml'. Altrimenti, dammi solo quello che hai " –

0

text/xml è l'unica risposta corretta. I tipi Mime sono un sistema basato sulla registrazione. C'è una lista ufficiale gestita da IANA (Internet Assigned Numbers Authority) al numero http://www.iana.org/assignments/media-types/media-types.xhtml

+1

Non tutti i tipi MIME nel mondo sono registrati con IANA. Ancora più importante, nulla in quel documento suggerisce l'utilizzo per RSS. –

+0

RSS è XML. Suggerisce l'utilizzo per XML. –

+2

Questo argomento è insufficiente. RSS è anche RDF. XML è anche testo. Quindi, con questo ragionamento, un tipo MIME RDF o di testo potrebbe anche essere buono. Tuttavia, il problema è che non tutti i documenti XML sono RSS. Quindi un tipo XML generico non è abbastanza specifico da identificare univocamente l'RSS. –

10

Ecco una risposta pragmatica: qualunque sia la risposta "corretta" potrebbe essere (e chiaramente c'è un dibattito su questo), text/xml è il tipo usato da pretty molto tutti i i mangimi popolari là fuori in natura.

Qui ci sono alcuni che ho controllato:

$ 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 

in modo da poter essere sicuri che text/xml saranno correttamente interpretati dai client RSS comunemente usati.

2

Il più corretta è application/rss+xml

Il più compatibile è application/xml

Secondo W3C:

feed RSS dovrebbe essere servito come application/rss + xml (RSS 1.0 è un formato RDF , quindi può essere utilizzato come applicazione/rdf + xml). I feed Atom devono utilizzare application/atom + xml.In alternativa, per la compatibilità di con i browser Web ampiamente distribuiti, uno qualsiasi di questi feed può utilizzare uno dei tipi XML più generali, preferibilmente application/xml.

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