В чем разница между текстом / xml vs application / xml для ответа webservice

Это более общий вопрос о различии между text/xml и application/xml . Я довольно новичок в написании веб-сервисов (REST – Jersey). Я создаю application/xml так как это то, что показано в большинстве учебников / примеров кода, которые я использовал, чтобы узнать, но я недавно узнал о text/xml и задавался вопросом, что по этому поводу отличается, и когда вы его используете над application/xml ?

Из RFC ( 3023 ), в разделе 3, типы XML-носителей:

Если XML-документ, то есть необработанный, исходный XML-документ, читается случайными пользователями, текст / xml предпочтительнее application / xml. Пользовательские агенты MIME (и веб-пользовательские агенты), которые не имеют явной поддержки для text / xml, будут рассматривать его как текстовое / plain, например, путем отображения XML MIME-объекта в виде обычного текста. Приложение / xml предпочтительнее, когда субъект XML MIME не читается случайными пользователями.

(акцент мой)

Это старый вопрос, но тот, который часто посещается и дает четкие рекомендации, теперь доступен из RFC7303, который устаревает RFC3023. В двух словах (раздел 9.2):

 The registration information for text/xml is in all respects the same as that given for application/xml above (Section 9.1), except that the "Type name" is "text". 

В соответствии с этой статьей приложение / xml является предпочтительным.


РЕДАКТИРОВАТЬ

Я немного поработал над этой статьей.

Автор утверждает, что кодировка, заявленная в инструкциях по обработке XML, например:

  

может игнорироваться при использовании типа медиатекста text/xml .

Они поддерживают тезис с определением спецификации семейства типов text/* MIME в RFC 2046 , в частности, следующим fragmentом:

 4.1.2. Charset Parameter A critical parameter that may be specified in the Content-Type field for "text/plain" data is the character set. This is specified with a "charset" parameter, as in: Content-type: text/plain; charset=iso-8859-1 Unlike some other parameter values, the values of the charset parameter are NOT case sensitive. The default character set, which must be assumed in the absence of a charset parameter, is US-ASCII. The specification for any future subtypes of "text" must specify whether or not they will also utilize a "charset" parameter, and may possibly restrict its values as well. For other subtypes of "text" than "text/plain", the semantics of the "charset" parameter should be defined to be identical to those specified here for "text/plain", ie, the body consists entirely of characters in the given charset. In particular, definers of future "text" subtypes should pay close attention to the implications of multioctet character sets for their subtype definitions. 

По их мнению, таких трудностей можно избежать при использовании типа MIME application/xml . Является ли это правдой или нет, я бы не пошел, чтобы избежать text/xml . IMHO, лучше всего следовать семантике удобочитаемости (не читаемости) и всегда помнить о том, чтобы указать кодировку.

application/xml рассматривается как svn как двоичный тип, тогда как text/xml как текстовый файл, для которого может отображаться diff.

  • Каков наилучший способ анализа (большого) XML в коде C #?
  • findViewById () возвращает null для настраиваемого компонента в макете XML, а не для других компонентов
  • Как разбирать строку, содержащую XML в Java, и извлекать значение корневого узла?
  • Сериализация списка пар ключ / значение в XML
  • Регулярное выражение \ p {L} и \ p {N}
  • Анализ XML с помощью XPath в Java
  • Как получить значение элемента XML с помощью Java?
  • XML Parser для C
  • Лучший способ кодирования текстовых данных для XML
  • Округлые обрезанные углы Android XML
  • Как добавить новую строку (разрыв строки) в файле XML?
  • Давайте будем гением компьютера.