Каков правильный тип MIME для использования в RSS-канале?

Предпочтителен ли один тип MIME для обеспечения совместимости с RSS-считывателями и другими скреперами?

Возможные варианты:

  • Текст /XML
  • Текст /RSS + XML

Интересно, что Stackoverflow использует text/html.

Ответ 2

Другие комментаторы отметили, что единственный правильный тип mime - application/rss+xml,.

Однако, если вы устанавливаете заголовок accept для клиента, то

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

может быть хорошим выбором, поскольку он утверждает, что он принимает RSS, Atom и XML (в порядке убывания или предпочтения).

Ответ 3

Здесь прагматичный ответ: каков бы ни был "правильный" ответ (и, очевидно, есть споры об этом), text/xml - это тип, используемый почти всеми популярными кормами в дикой природе.

Вот несколько, которые я проверил:

$ 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

Таким образом, вы можете быть уверены, что text/xml будет правильно интерпретироваться обычно используемыми клиентами RSS.

Ответ 4

Вы можете использовать text/xml, но правильный тип MIME будет application/rss+xml.

Ответ 5

Пойдите для MIME application/rss + xml, чтобы быть в безопасности, если вы хотите убедиться, что ваш канал совместим с читателями RSS и другими скреперами. Это то, что я использую.

Ответ 6

Самый правильный - application/rss+xml

Самый совместимый - application/xml

Согласно W3C:

RSS-каналы должны выполняться как application/rss + xml (RSS 1.0 является RDF формат, поэтому он может быть использован как application/rdf + xml). Атом каналы должны использовать application/atom + xml. В качестве альтернативы для совместимость с широко развернутыми веб-браузерами, любой из этих каналов может использовать один из более общих типов XML - предпочтительно приложение /XML.

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

Ответ 7

text/xml - единственный правильный ответ. Типы Mime - это система, основанная на регистрации. Существует официальный список, управляемый IANA (Internet Assigned Numbers Authority) по адресу http://www.iana.org/assignments/media-types/media-types.xhtml