ver sitio mapa hacer google for example create crear como xml mime-types sitemap xml-sitemap

xml - sitio - sitemap wordpress



¿Qué valor de tipo de contenido debo enviar para mi mapa del sitio XML? (4)

Pensé que debería enviar "text / xml", pero luego leí que debería enviar "application / xml". ¿Importa? ¿Alguien puede explicar la diferencia?


Como regla general, la apuesta más segura para hacer que su documento sea tratado correctamente por todos los servidores web, proxies y navegadores de clientes, es probablemente el siguiente:

  1. Use el tipo de contenido application / xml
  2. Incluye una codificación de caracteres en el tipo de contenido, probablemente UTF-8
  3. Incluya una codificación de caracteres coincidente en el atributo de codificación del documento XML en sí.

En términos de la especificación RFC 3023 , que algunos navegadores no implementan correctamente, la principal diferencia en los tipos de contenido está en cómo se supone que los clientes tratan la codificación de caracteres, de la siguiente manera:

Para application / xml, application / xml-dtd, application / xml-external-parrsed-entity, o cualquiera de los subtipos de application / xml como application / atom + xml, application / rss + xml o application / rdf + xml , la codificación de caracteres se determina en este orden:

  1. la codificación dada en el parámetro charset del encabezado HTTP Content-Type
  2. la codificación dada en el atributo de codificación de la declaración XML dentro del documento,
  3. utf-8.

Para text / xml, text / xml-external-parsed-entity, o un subtipo como text / foo + xml, el atributo de codificación de la declaración XML dentro del documento se ignora, y la codificación de caracteres es:

  1. la codificación dada en el parámetro de conjunto de caracteres del encabezado HTTP Content-Type, o
  2. us-ascii.

La mayoría de los analizadores no implementan la especificación; ignoran el tipo de contexto HTTP y simplemente usan la codificación en el documento. Con tantos documentos mal formados, es poco probable que cambie pronto.


La diferencia entre text / xml y application / xml es la codificación de caracteres predeterminada si se omite el parámetro charset :

Text / xml y application / xml se comportan de manera diferente cuando el parámetro del juego de caracteres no está explícitamente especificado. Si el juego de caracteres predeterminado (es decir, US-ASCII) para texto / xml es inconveniente por alguna razón (por ejemplo, servidores web malos), application / xml proporciona una alternativa (consulte "Parámetros opcionales" del registro de aplicación / xml en la Sección 3.2).

Para text/xml :

De conformidad con [RFC2046], si se recibe una entidad de texto / xml con el parámetro de juego de caracteres omitido, los procesadores MIME y los procesadores XML DEBEN utilizar el valor predeterminado de juego de caracteres "us-ascii" [ASCII]. En los casos en que la entidad XML MIME se transmite a través de HTTP, el valor predeterminado del conjunto de caracteres sigue siendo "us-ascii".

Para la application/xml :

Si se recibe una entidad application / xml donde se omite el parámetro charset, el encabezado MIME Content-Type no proporciona información sobre el charset. Los procesadores XML conformes DEBEN seguir los requisitos de la sección 4.3.3 de [XML] que abordan directamente esta contingencia. Sin embargo, los procesadores MIME que no son procesadores XML NO DEBEN asumir un juego de caracteres predeterminado si el parámetro de conjunto de caracteres se omite de una entidad application / xml.

Entonces, si se omite el parámetro de conjunto de caracteres , la codificación de caracteres de texto / xml es US-ASCII mientras que con application / xml la codificación de caracteres se puede especificar en el documento mismo.

Ahora, una regla general en Internet es: "Sea estricto con la salida, pero sea tolerante con la entrada". Eso significa que asegúrese de cumplir con los estándares tanto como sea posible cuando entregue datos a través de Internet. Pero construya algunos mecanismos para pasar por alto las fallas o adivinar al recibir e interpretar datos a través de Internet.

En su caso, solo elija uno de los dos tipos (recomiendo la aplicación / xml ) y asegúrese de especificar la codificación de caracteres utilizada correctamente (recomiendo usar la codificación de caracteres predeterminada correspondiente para jugar seguro, por lo que en caso de uso de la aplicación / xml UTF-8 o UTF-16).


ambos están bien.

text / xxx significa que, en caso de que el programa no comprenda xxx, tiene sentido mostrar el archivo al usuario como texto sin formato. application / xxx significa que no tiene sentido mostrarlo.

Tenga en cuenta que esos tipos de contenido se definieron originalmente para el archivo adjunto de correo electrónico antes de que luego se utilizaran en el mundo web.


text / xml es para documentos que serían significativos para un humano si se presentan como texto sin procesamiento adicional, application / xml es para todo lo demás

Cada entidad XML es adecuada para su uso con el tipo de medio application / xml sin modificaciones. Pero esto no explota el hecho de que XML puede tratarse como texto sin formato en muchos casos. Los agentes de usuario MIME (y los agentes de usuario web) que no tienen soporte explícito para application / xml lo tratarán como application / octet-stream, por ejemplo, al ofrecer guardarlo en un archivo.

Para indicar que una entidad XML debe tratarse como texto sin formato de forma predeterminada, use el tipo de medio text / xml. Esto restringe la codificación utilizada en la entidad XML a aquellas que son compatibles con los requisitos para los tipos de medios de texto como se describe en [RFC-2045] y [RFC-2046], por ejemplo, UTF-8, pero no UTF-16 (a excepción de HTTP).

- http://www.ietf.org/rfc/rfc2376.txt