2009-02-27 14 views

Respuesta

192
+5

estoy de acuerdo que este es el tipo correcto, sin embargo, no parece ser bien entendido por los navegadores web. Parece que (lamentablemente) text/xml ahora es un estándar de facto. –

+0

@SamuelEUSTACHI tiene razón, y la respuesta aceptada probablemente no sea la mejor para garantizar la compatibilidad, según lo solicitado. Tim Bray en 2003: "de una manera u otra, creo que probablemente sea importante que la comunidad actúe en conjunto y decida qué tipo de medios usar y empiece a usarlo". Hoy: vea mi respuesta a continuación para evidencia de que casi todos * los feeds populares usan 'text/xml'. –

2

Usted podía uso text/xml, pero el tipo MIME correcto sería application/rss+xml.

+2

'application/xml' se prefiere a' text/xml' porque XML no sigue las reglas normales de codificación de contenido de texto. Puede incrustar su codificación en sus datos, lo que causará problemas si los proxies intentan transcodificar ciegamente el texto. En otras palabras, los proxies son instruidos para preservar los datos byte por byte. – Zenexer

2

Ir a MIME application/rss+xml para estar seguro si usted quiere asegurarse de que su alimentación es compatible con lectores de RSS y otras raspadores. Eso es lo que uso.

24

Otros comentaristas han señalado que el único tipo MIME correcto es application/rss+xml,.

Sin embargo, si está configurando un dispositivo de aceptación de cabecera para un cliente entonces

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

podría ser una buena opción, ya que declara que acepta RSS, Atom y XML (en orden de preferencia descendente)

+0

Robert puede explicar un poco más cómo funciona el pedido. –

+3

El orden de aceptación del encabezado le dice al servidor qué contenido usar. El servidor verá si puede ofrecer el primero, luego el segundo, etc. Es por eso que la "aplicación/rss + xml" es la mejor opción y "texto/xml", ya que la reserva final es buena. –

+3

De hecho, el orden de los elementos en el encabezado Aceptar es irrelevante. [La preferencia se indica con el parámetro 'q'] (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.1), por lo que para el efecto deseado, sería mejor enviar' Aceptar : application/rss + xml, application/rdf + xml, application/atom + xml, application/xml; q = 0.9, text/xml; q = 0.8', que significa "Prefiere cualquiera de los tipos MIME correctos para feeds. no puedes ofrecer eso, prefieres 'application/xml'. Si no puedes ofrecer eso, prefieres' text/xml'. De lo contrario, solo dame lo que tienes " –

0

text/xml es la única respuesta correcta. Los tipos MIME son un sistema basado en registro. Hay una lista oficial administrado por la IANA (Autoridad de Números Asignados de Internet) en http://www.iana.org/assignments/media-types/media-types.xhtml

+1

No todos los tipos MIME en el mundo están registrados con IANA. Más importante aún, nada en ese documento sugiere el uso de RSS. –

+0

RSS es XML. Sugiere uso para XML. –

+2

Ese argumento es insuficiente. RSS también es RDF. XML también es texto. Entonces, con este razonamiento, un RDF o texto tipo MIME también podría ser bueno. Sin embargo, el problema es que no todos los documentos XML son RSS. Por lo tanto, un tipo XML genérico no es lo suficientemente específico para identificar inequívocamente RSS. –

10

He aquí una respuesta pragmática: cualquiera que sea la respuesta "correcta" puede ser (y claramente hay un debate sobre esto), text/xml es del tipo utilizado por bastante mucho toda la popular alimenta por ahí en la naturaleza.

Éstos son unos pocos que he comprobado:

$ 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 

lo que puede estar seguro de que text/xml será interpretado correctamente por los clientes RSS de uso común.

2

El más correcta es application/rss+xml

El más compatible es application/xml

Según W3C:

canales RSS se deben servir como application/rss + xml (RSS 1.0 es un formato RDF , por lo que se puede utilizar como application/rdf + xml en su lugar). Los feeds Atom deben usar application/atom + xml.Alternativamente, para compatibilidad con los navegadores web desplegado ampliamente, cualquiera de estos feeds puede utilizar uno de los tipos más generales XML - preferentemente application/xml.

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

Cuestiones relacionadas