2009-02-27 1 views

ответ

192

Ни то, ни другое. Это application/rss+xml http://www.rssboard.org/rss-mime-type-application.txt

+5

Я согласен, это правильный тип, однако, не кажется, хорошо понимают веб-браузеры. Похоже, что текст/xml теперь является де-факто стандартом. –

+0

@SamuelEUSTACHI, вы правы, и принятый ответ, вероятно, не лучший, чтобы обеспечить совместимость, как просили. Тим Брей еще в 2003 году: «Так или иначе, я думаю, что, вероятно, важно, чтобы сообщество объединилось и решило, какой Media-тип использовать и начать использовать его». Сегодня: см. Мой ответ ниже для доказательства того, что почти все * популярные * каналы используют 'text/xml'. –

2

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

+2

'application/xml' предпочитается над' text/xml', потому что XML не соответствует правилам обычного текстового содержимого. Он может вставлять свою кодировку в свои данные, что вызовет проблемы, если прокси попытаются вслепую перекодировать текст. Другими словами, прокси указывается, что они сохраняют байты данных за байтом. – Zenexer

2

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

24

Другие комментаторы указали, что один правильный тип мим - 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 (в порядке или предпочтения по убыванию).

+0

Роберт вы можете объяснить немного больше, как работает заказ. –

+3

Порядок заголовка accept сообщает серверу, какой контент использовать. Сервер увидит, может ли он предложить первый, затем второй и т. Д. Именно поэтому «приложение/rss + xml» - лучший выбор, а «text/xml» в качестве окончательного резерва - это хорошо. –

+3

Фактически, порядок элементов в заголовке Accept не имеет значения. [Предпочтение указано параметром 'q'] (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.1), поэтому для желаемого эффекта было бы лучше отправить' 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'. В противном случае просто дайте мне то, что у вас есть » –

0

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

+1

Не все типы MIME в мире зарегистрированы в IANA. Что еще более важно, ничто в этом документе не предполагает использование RSS. –

+0

RSS - это XML. Это предполагает использование для XML. –

+2

Этот аргумент недостаточен. RSS также является RDF. XML также является текстом. Таким образом, по этим соображениям, RDF или текстовый MIME-тип также может быть хорошим. Однако проблема заключается в том, что не все документы XML являются RSS. Таким образом, общий тип XML недостаточно специфичен для однозначного определения RSS. –

10

Вот прагматичный ответ: то, что «правильный» ответ может быть (и, очевидно есть дебаты по этому поводу), 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 клиентов.

2

Наиболее правильный является application/rss+xml

Наиболее совместим является application/xml

Согласно W3C:

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

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