Предпочтителен ли один тип MIME для обеспечения совместимости с RSS-считывателями и другими скреперами?
Возможные варианты:
- Текст /XML
- Текст /RSS + XML
Интересно, что Stackoverflow использует text/html.
Предпочтителен ли один тип MIME для обеспечения совместимости с RSS-считывателями и другими скреперами?
Возможные варианты:
Интересно, что Stackoverflow использует text/html.
Ни. Это application/rss+xml
http://www.rssboard.org/rss-mime-type-application.txt
Другие комментаторы отметили, что единственный правильный тип 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 (в порядке убывания или предпочтения).
Здесь прагматичный ответ: каков бы ни был "правильный" ответ (и, очевидно, есть споры об этом), 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.
Вы можете использовать text/xml
, но правильный тип MIME будет application/rss+xml
.
Пойдите для MIME application/rss + xml, чтобы быть в безопасности, если вы хотите убедиться, что ваш канал совместим с читателями RSS и другими скреперами. Это то, что я использую.
Самый правильный - 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
text/xml - единственный правильный ответ. Типы Mime - это система, основанная на регистрации. Существует официальный список, управляемый IANA (Internet Assigned Numbers Authority) по адресу http://www.iana.org/assignments/media-types/media-types.xhtml