Esto es más una pregunta general sobre la diferencia entre text/xml
y application/xml
. Soy bastante nuevo en la redacción de servicios web (REST - Jersey). He estado produciendo application/xml
ya que es lo que aparece en la mayoría de los tutoriales/ejemplos de código que he estado usando para aprender, pero recientemente descubrí text/xml
y me preguntaba qué es diferente y cuándo lo usaría más de application/xml
?Cuál es la diferencia entre texto/xml vs application/xml para la respuesta del servicio web
Respuesta
Desde el RFC (3023), en la sección 3, XML tipos de medios:
Si un documento XML - es decir, el documento XML sin procesar, fuente - es legible los usuarios casuales , texto/xml es preferible a application/xml. Los agentes de usuario MIME (y los agentes de usuario web) que no tienen tienen soporte explícito para text/xml lo tratarán como texto/normal, para el ejemplo , mostrando la entidad XML MIME como texto sin formato. Application/xml es preferible cuando la entidad XML MIME es ilegible por usuarios ocasionales.
(énfasis mío)
Según this article application/xml se prefiere.
EDITAR
Hice un poco de seguimiento sobre el artículo.
El autor afirma que la codificación declarada en instrucciones de procesamiento XML, como:
<?xml version="1.0" encoding="UTF-8"?>
puede ser ignorado cuando se utiliza el tipo text/xml
medios de comunicación.
que apoyan la tesis con la definición de especificación del tipo de familia text/*
MIME en RFC 2046, específicamente el siguiente fragmento:
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.
Según ellos, tales dificultades pueden evitarse utilizando las application/xml
tipo MIME. Si es verdad o no, no iría tan lejos como para evitar text/xml
. En mi humilde opinión, lo mejor es seguir la semántica de la legibilidad humana (no legibilidad) y siempre recordar especificar el juego de caracteres.
+1 para el enlace. En sus propias palabras, ¿cuál es la conclusión básica alcanzada en el artículo? Tal vez "el artículo indica que la codificación de archivo se ignora, lo que significa que no puede enviar datos utf-8 y binarios en un archivo con un encabezado de texto/xml", ¿también se verifica esto? – Shanimal
Estoy de acuerdo con @Shanimal, la respuesta debe incluir la esencia del artículo, ya que el enlace puede no durar para siempre. Su desaparición hará que la respuesta sea bastante inútil. ¿Alguien podría confirmar la afirmación de ignorar las instrucciones de procesamiento de XML con respecto a la codificación? – toniedzwiedz
Según el autor original, esto se ha corregido en las posteriores actualizaciones de las especificaciones 'Actualización: la situación ha cambiado en el nuevo HTTP/1.1 RFC: Se ha eliminado el juego de caracteres predeterminado de ISO-8859-1 para tipos de medios de texto; el valor predeterminado es ahora lo que dice la definición de tipo de medio. – TheNorthWes
Esta es una vieja pregunta, pero una que se visita con frecuencia y recomendaciones claras están ahora disponibles en RFC7303 que obsoleta RFC3023. En pocas palabras (sección 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".
application/xml
es visto por svn
como binario tipo mientras que text/xml
como texto archivo para el que se puede visualizar un diff.
- 1. ¿Cuál es la diferencia entre() vs [] vs {}?
- 2. ¿Cuál es la diferencia entre el servicio web ordinario y el servicio web basado en jabón?
- 3. ¿Cuál es la diferencia entre la recarga del servicio y el reinicio del servicio?
- 4. Cuál es la diferencia entre colorWithSRGBRed vs colorWithDeviceRed vs colorWithCalibratedRed
- 5. ¿Cuál es la diferencia entre solicitud, respuesta y servidor?
- 6. ¿Cuál es la diferencia entre web-crawling y web-scraping?
- 7. CATALINA_OPTS vs JAVA_OPTS - ¿Cuál es la diferencia?
- 8. ¿Cuál es la diferencia entre Web farm y Web Garden?
- 9. ¿Cuál es la diferencia entre el servicio web y la comunicación remota?
- 10. Cuál es la diferencia entre la llamada a procedimiento remoto y el servicio web
- 11. ¿Cuál es la diferencia entre un controlador y un servicio?
- 12. ¿Cuál es la diferencia entre Selenium's Remote Control vs WebDriver?
- 13. JIT vs NGen: ¿cuál es la diferencia?
- 14. ¿Cuál es la diferencia entre "git reset" vs "git rebase"?
- 15. Char.IsDigit() vs Char.IsNumber(), ¿cuál es la diferencia?
- 16. Mysql: ¿Cuál es la diferencia entre "slow_query_log" vs "log_slow_queries"
- 17. ¿Cuál es la diferencia entre X = X ++; vs X ++ ;?
- 18. ¿Cuál es la diferencia entre ser db_owner vs. db_datareader/db_datawriter?
- 19. EQU vs DC.B. ¿Cuál es la diferencia?
- 20. Cuál es la diferencia entre String (value) vs value.toString()
- 21. ¿Cuál es la diferencia entre gets.chomp() vs. STDIN.gets.chomp()?
- 22. ¿Cuál es la diferencia entre Cassandra vs Oracle Coherence?
- 23. ¿Cuál es la diferencia entre Console.WriteLine() vs Debug.WriteLine()?
- 24. ¿Cuál es la diferencia entre "origen maestro" vs "origen/maestro"
- 25. ¿Cuál es la diferencia entre html.AttributeEncode vs html.Encode?
- 26. ¿Cuál es la diferencia entre Solr vs Websolr?
- 27. ¿Cuál es la diferencia entre process.cwd() vs __dirname?
- 28. ¿cuál es la diferencia entre ResultSetExtractor vs Rowmapper?
- 29. SET vs. SELECT - ¿Cuál es la diferencia?
- 30. node.js vs. meteor.js ¿cuál es la diferencia?
Entonces, al leer la parte que citó, tenga en cuenta el aspecto que tiene un XML no humano, ya que XML es prácticamente texto. Supongo que si incluyó datos codificados en binary o base64 ... – jcolebrand
@drachenstern - Creo que los elementos y atributos no descriptivos son más probables ('', por ejemplo, ilegibles para los usuarios de _casual_). –
Oded
Supongo que por "humano" quieren decir "nerd de la computadora". :) – biziclop