C'est plus une question générale sur la différence entre text/xml
et application/xml
. Je suis relativement nouveau à l'écriture de webservices (REST - Jersey). Je produis application/xml
puisque c'est ce qui apparaît dans la plupart des tutoriels / exemples de code que j'ai utilisé pour apprendre, mais j'ai récemment découvert text/xml
et je me demandais ce qui est différent à ce sujet et quand l'utiliseriez-vous sur application/xml
?
Réponses
Trop de publicités?À partir de la RFC (3023), en vertu de l'article 3, XML Types de Supports:
Si un document XML -- c'est, l'état, le document XML source -- est lisible par les utilisateurs occasionnels, text/xml est préférable de application/xml. De MIME, les agents utilisateurs (web et les agents d'utilisateur) qui ne sont pas avoir un soutien explicite de texte/xml traite en tant que text/plain, pour exemple, en affichant le XML MIME entité en tant que texte brut. Application/xml est préférable lorsque le fichier XML MIME entité est illisible par les utilisateurs occasionnels.
(l'emphase est mienne)
Selon cet article application/xml est préféré.
MODIFIER
J'ai fait un peu de suivi sur l'article.
L'auteur affirme que l'encodage déclaré dans les instructions de traitement XML, comme:
<?xml version="1.0" encoding="UTF-8"?>
peut être ignoré lors de l' text/xml
type de média est utilisé.
Ils soutiennent la thèse que la définition de la text/*
type MIME spécifications de la famille dans la RFC 2046, plus précisément le fragment suivant:
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.
Selon eux, ces difficultés peuvent être évitées lors de l'utilisation d' application/xml
type MIME. Si c'est vrai ou pas, je n'irais pas aussi loin pour éviter text/xml
. À mon humble avis, il vaut mieux tout simplement de suivre la sémantique des droits de la lisibilité(non-lisibilité) et toujours n'oubliez pas de spécifier le jeu de caractères.
Tom