¿Es preferible un tipo MIME para garantizar la compatibilidad con lectores RSS y otros raspadores?
Las opciones parecen ser:
- texto / xml
- texto / rss + xml
Curiosamente, Stackoverflow está usando text / html.
¿Es preferible un tipo MIME para garantizar la compatibilidad con lectores RSS y otros raspadores?
Las opciones parecen ser:
Curiosamente, Stackoverflow está usando text / html.
Respuestas:
Ninguno. Es http://www.rssboard.org/rss-mime-type-application.txtapplication/rss+xml
text/xml
.
Otros comentaristas han señalado que el único tipo mime correcto es application/rss+xml,
.
Sin embargo, si está configurando un encabezado de aceptación 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 establece que acepta RSS, Atom y XML (en orden descendente o preferencia).
q
parámetro , por lo que para el efecto deseado sería mejor enviar Accept: application/rss+xml, application/rdf+xml, application/atom+xml, application/xml;q=0.9, text/xml;q=0.8
, lo que significa "Prefiere cualquiera de los tipos MIME correctos para feeds. Si no puedes ofrecer eso, prefiere application/xml
. Si no puedes ofrecer eso, prefiera text/xml
. De lo contrario, solo dame lo que tienes "
Accept
encabezados con los ejemplos de feeds populares en mi respuesta a continuación, y todos regresaron text/xml
. Usé el comando:curl -s -H 'Accept: application/rss+xml, application/rdf+xml, application/atom+xml, application/xml;q=0.9, text/xml;q=0.8' -H 'Content-Type: application/rss+xml' -I $f
Aquí hay una respuesta pragmática: cualquiera que sea la respuesta "correcta" (y claramente hay debate sobre esto), text/xml
es el tipo utilizado por casi todos las fuentes populares en la naturaleza.
Aquí hay algunos que revisé:
$ 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
Por lo tanto, puede estar seguro de que text/xml
será interpretado correctamente por los clientes RSS de uso común.
Lo más correcto esapplication/rss+xml
El más compatible esapplication/xml
De acuerdo con W3C:
Las fuentes RSS deben servirse como application / rss + xml (RSS 1.0 es un formato RDF, por lo que puede servirse como application / rdf + xml). Las fuentes de Atom deben usar application / atom + xml. Alternativamente, para la compatibilidad con navegadores web ampliamente implementados, cualquiera de estos canales puede usar uno de los tipos XML más generales, preferiblemente aplicación / xml.
https://validator.w3.org/feed/docs/warning/UnexpectedContentType.html
Vaya a MIME application / rss + xml para estar seguro si desea asegurarse de que su feed sea compatible con lectores RSS y otros raspadores. Eso es lo que yo uso.
Usted podría utilizar text/xml
, pero el tipo MIME correcto sería application/rss+xml
.
application/xml
se prefiere 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 tienen instrucciones de preservar los datos byte por byte.
text / xml es la única respuesta correcta. Los tipos MIME son un sistema basado en el registro. Hay una lista oficial administrada por IANA (Autoridad de Números Asignados de Internet) en http://www.iana.org/assignments/media-types/media-types.xhtml