Question

J'ai pensé que je devrais envoyer "text/xml", mais ensuite j'ai lu que je devrais envoyer "application/xml".Est-il question?Quelqu'un peut m'expliquer la différence?

Était-ce utile?

La solution

the différence entre text / xml et application / XML est le codage de caractères par défaut si le paramètre Charset est omis:

Texte / XML et Application / XML se comporter différemment lorsque le ménage Le paramètre n'est pas explicitement spécifié. Si le brandit par défaut (c'est-à-dire US-ASCII) pour Text / XML est gênant pour une raison quelconque (par exemple, mauvais Web Serveurs), application / XML fournit une alternative (voir "facultatif Paramètres "d'application / enregistrement XML à la section 3.2).

pour text / xml :

Conforme avec [RFC2046], si une entité texte / XML est reçue avec Le paramètre Charset omis, les processeurs MIME et les processeurs XML Doit utiliser la valeur branchée par défaut de "US-ASCII" [ASCII]. Dans les cas où l'entité MIME XML est transmise via http, la valeur par défaut La valeur Charset est toujours "US-ASCII".

pour Application / XML :

Si une entité d'application / XML est reçue lorsque le chartet Le paramètre est omis, aucune information n'est fournie sur le Charset par l'en-tête de type de contenu MIME. XML conforme Les processeurs doivent suivre les exigences de la section 4.3.3 de [XML] Cela aborde directement cette éventualité. Cependant, les processeurs MIME qui ne sont pas des processeurs XML ne doivent pas supposer une branchée par défaut si Le paramètre Charset est omis d'une entité Application / XML.

Donc, si le paramètre Charset est omis, le codage du caractère de text / x / em> est US-ASCII pendant avec Application / XML le personnage Le codage peut être spécifié dans le document lui-même.

Une règle de base sur Internet est la suivante: "Soyez strict avec la sortie mais être tolérante avec l'entrée." Cela signifie de respecter les normes autant que possible lors de la fourniture de données sur Internet. Mais construire dans certains mécanismes pour négliger les défauts ou pour deviner lors de la réception et de l'interprétation des données sur Internet.

Donc, dans votre cas, choisissez simplement l'un des deux types (je vous recommande Application / XML ) et assurez-vous de spécifier le codage du caractère utilisé correctement (je recommande d'utiliser le codage de caractère par défaut correspondant à jouer Coffre-fort, donc en cas de Application / XML Utilisez UTF-8 ou UTF-16).

Autres conseils

En règle générale, la mise la plus sûre pour rendre votre document soit traitée correctement par tous les serveurs Web, les proxies et les navigateurs clients, sont probablement les suivants:

  1. Utilisez le type de contenu Application / XML
  2. Inclure un codage de caractères dans le type de contenu, probablement UTF-8
  3. Inclure un codage de caractères correspondant dans l'attribut de codage du document XML lui-même.
  4. en termes de SPEC RFC 3023 , que certains navigateurs ne parviennent pas à mettre en œuvre correctement, le majeur La différence dans les types de contenu est dans la manière dont les clients sont censés traiter le codage du personnage, comme suit:

    pour Application / XML, Application / XML-DTD, Application / XML-EXTERNES-ÉLARED-ELSED-ELSED-ESSION-EXTERNES OF APPLICATION / XML telle que Application / ATOM + XML, Application / RSS + XML ou Application / RDF + XML, le codage de caractères est déterminé dans cet ordre:

    1. Le codage indiqué dans le paramètre Charset de l'en-tête HTTP de type contenu
    2. Le codage indiqué dans l'attribut encodage de la Déclaration XML dans le document,
    3. UTF-8.
    4. Pour Text / XML, Text / XML-EXTERNES-ESSED-ENTITY, ou un sous-type similaire à Texte / FOO + XML, l'attribut de codage de la déclaration XML dans le document est ignoré et le codage de caractères est:

      1. Le codage indiqué dans le paramètre Charset de l'en-tête HTTP de type contenu, ou
      2. US-ASCII.
      3. la plupart des analyseurs ne mettent pas en œuvre la spécification; Ils ignorent le type de contexte HTTP et utilisent simplement le codage dans le document. Avec tant de documents mal formés là-bas, il est peu probable de changer de temps bientôt.

Les deux vont bien.

TEXT / XXX signifie que si le programme ne comprend pas XXX, il est logique de montrer au fichier à l'utilisateur en tant que texte brut.Application / XXX signifie qu'il est inutile de le montrer.

Veuillez noter que ces types de contenu ont été définis à l'origine pour la pièce jointe par courrier électronique avant leur utilisation ultérieure utilisée dans le Web World.

TEXT / XML est destiné aux documents qui seraient significatifs pour un humain si présenté sous forme de texte sans autre traitement, l'application / XML est pour tout le reste

Chaque entité XML convient à une utilisation avec le support Application / XML Tapez sans modification. Mais cela n'exploit pas le fait que XML peut être traité comme un texte brut dans de nombreux cas. Agents utilisateur MIME (et des agents utilisateur Web) qui n'ont pas de soutien explicite pour Application / XML traitera de l'application / des cours d'octet, pour exemple, en offrant de le sauvegarder dans un fichier.

Pour indiquer qu'une entité XML doit être traitée comme un texte brut par Par défaut, utilisez le type de support texte / XML. Cela limite le codage utilisé dans l'entité XML à ceux qui sont compatibles avec le Exigences relatives aux types de supports de texte tels que décrits dans [RFC-2045] et [RFC-2046], E.G., UTF-8, mais pas UTF-16 (à l'exception de HTTP).

-

D'autres réponses ici traitent de la question générale de savoir quel est le Content-Type pour une réponse XML est, et de conclure (comme avec Quelle est la différence entre texte/xml vs application/xml webservice pour la réponse) que les deux text/xml et application/xml sont autorisées.Cependant, aucune adresse s'il y a des règles spécifiques à sitemaps.

Réponse:il n'y en a pas.Le sitemap de spec https://www.sitemaps.org, et à l'aide de Google site: recherches, vous pouvez vous assurer qu'elle ne contient pas les mots ou les phrases mime, mimetype, content-type, application/xml, ou text/xml n'importe où.En d'autres termes, il est tout à fait muet sur le sujet de ce Content-Type devrait être utilisé pour servir des sitemaps.

En l'absence de tout commentaire dans le sitemap spec répondre directement à cette question, nous pouvons présumer que les mêmes règles s'appliquent que lorsque le choix de la Content-Type de tout autre document XML - à-d.qu'il peut être text/xml ou application/xml.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top