603 Stimmen

Was ist der Unterschied zwischen text/xml und application/xml bei Webservice-Antworten?

Dies ist eher eine allgemeine Frage über den Unterschied zwischen text/xml y application/xml . Ich bin ziemlich neu im Schreiben von Webservices (REST - Jersey). Ich habe produziert application/xml da es in den meisten Tutorien/Codebeispielen, die ich zum Lernen verwendet habe, vorkommt, aber ich habe kürzlich herausgefunden, dass text/xml und wollte wissen, was daran anders ist und wann Sie es im Vergleich zu anderen Produkten verwenden würden. application/xml ?

496voto

Oded Punkte 475566

Aus dem RFC ( 3023 ), unter Abschnitt 3, XML-Medientypen:

Wenn ein XML-Dokument, d. h. das unbearbeitete XML-Quelldokument -- ist lesbar von Gelegenheitsnutzern, text/xml ist vorzuziehen gegenüber Anwendung/xml. MIME-Benutzeragenten (und Web-Benutzeragenten), die keine keine explizite Unterstützung für text/xml haben, behandeln es als text/plain, zum Beispiel indem sie beispielsweise die XML-MIME-Entität als reinen Text anzeigen. Anwendung/xml ist vorzuziehen, wenn die XML-MIME-Entität ist unleserlich von Gelegenheitsnutzern.

(Hervorhebung von mir)

176voto

DaveV Punkte 1736

Diese Frage ist alt, wird aber häufig gestellt, und es gibt jetzt klare Empfehlungen von RFC 7303 die RFC3023 überflüssig macht. Kurz und bündig (Abschnitt 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".

41voto

hardywang Punkte 4384

Nach Angaben von dieser Artikel application/xml wird bevorzugt.


EDITAR

Ich habe den Artikel ein wenig weiterverfolgt.

Der Autor behauptet, dass die in XML-Verarbeitungsanweisungen angegebene Kodierung, wie z. B.:

<?xml version="1.0" encoding="UTF-8"?>

kann ignoriert werden, wenn text/xml Medientyp verwendet wird.

Sie stützen diese These mit der Definition von text/* Spezifikation der MIME-Typenfamilie in RFC 2046 und zwar das folgende 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",
   i.e., 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.

Ihrer Meinung nach können solche Schwierigkeiten vermieden werden, wenn man application/xml MIME-Typ. Ob es nun stimmt oder nicht, ich würde nicht so weit gehen, dass ich die text/xml . IMHO ist es am besten, einfach die Semantik der menschlichen Lesbarkeit (Nicht-Lesbarkeit) zu befolgen und immer daran zu denken, den Zeichensatz anzugeben.

11voto

Michał Kawiecki Punkte 355

application/xml wird gesehen von svn als binär Art, wobei text/xml als Text Datei, für die ein Diff angezeigt werden kann.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X