Является ли один тип MIME предпочтительным для обеспечения совместимости с программами чтения RSS и другими средствами очистки?
Варианты кажутся такими:
- текст / XML
- текст / Новости + XML
Интересно, что Stackoverflow использует text / html.
Является ли один тип MIME предпочтительным для обеспечения совместимости с программами чтения RSS и другими средствами очистки?
Варианты кажутся такими:
Интересно, что Stackoverflow использует text / html.
Ответы:
Ни. Это http://www.rssboard.org/rss-mime-type-application.txtapplication/rss+xml
text/xml
.
Другие комментаторы отметили, что единственный правильный тип пантомимы - это application/rss+xml,
.
Однако, если вы устанавливаете заголовок принятия для клиента, тогда
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 (в порядке убывания или предпочтения).
q
параметром , поэтому для достижения желаемого эффекта было бы лучше отправить Accept: application/rss+xml, application/rdf+xml, application/atom+xml, application/xml;q=0.9, text/xml;q=0.8
, что означает: «Предпочитайте любой из правильных типов MIME для каналов. Если вы не можете предложить это, предпочтите application/xml
. Если вы не можете предложить это, предпочитаю text/xml
. В противном случае просто дайте мне то, что у вас есть »
Accept
заголовков с примерами популярных каналов в моем ответе ниже, и все они вернулись text/xml
. Я использовал команду: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
Вот прагматичный ответ: каким бы ни был «правильный» ответ (и, очевидно, по этому поводу ведутся споры), 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-клиентами.
Самым правильным являетсяapplication/rss+xml
Наиболее совместимым являетсяapplication/xml
Согласно W3C:
RSS-каналы должны обслуживаться как application / rss + xml (RSS 1.0 - это формат RDF, поэтому вместо этого он может обслуживаться как application / rdf + xml). Каналы Atom должны использовать application / atom + xml. В качестве альтернативы, для совместимости с широко распространенными веб-браузерами, любой из этих каналов может использовать один из более общих типов XML - предпочтительно application / xml.
https://validator.w3.org/feed/docs/warning/UnexpectedContentType.html
Перейти к MIME приложения / RSS + XML , чтобы быть безопасным , если вы хотите , чтобы убедиться сделать ваш канал совместим с RSS читателей и других скребки. Вот что я использую.
Вы можете использовать text/xml
, но правильный тип MIME будет application/rss+xml
.
application/xml
предпочтительнее, text/xml
потому что XML не следует обычным правилам кодирования текстового содержимого. Он может встроить свою кодировку в свои данные, что вызовет проблемы, если прокси-серверы попытаются слепо перекодировать текст. Другими словами, прокси-серверы получают указание сохранять данные побайтно.
text / xml - единственный правильный ответ. Mime-типы - это система, основанная на регистрации. Официальный список, управляемый IANA (Internet Assigned Numbers Authority), находится по адресу http://www.iana.org/assignments/media-types/media-types.xhtml.