Questa è una domanda più generale sulla differenza tra text/xml
e application/xml
. Sono abbastanza nuovo nello scrivere webservices (REST - Jersey). Ho prodotto application/xml
poiché è ciò che viene visualizzato nella maggior parte degli esempi di tutorial/codice che ho utilizzato per imparare, ma recentemente ho scoperto circa text/xml
e mi chiedevo cosa c'è di diverso e quando lo useresti su application/xml
?Qual è la differenza tra testo/xml vs application/xml per la risposta del servizio web
risposta
Dal RFC (3023), ai sensi dell'articolo 3, XML Tipi di supporto:
Se un documento XML - che è, il non trasformati, fonte documento XML - è leggibile dagli utenti occasionali , text/xml è preferibile a application/xml. Gli agenti utente MIME (e gli agenti utente Web) che non hanno il supporto esplicito per text/xml lo considerano text/xml, per esempio , visualizzando l'entità XML MIME come testo normale. L'applicazione/xml è preferibile quando l'entità XML MIME è illeggibile da utenti occasionali.
(enfasi mia)
Secondo this article application/xml è preferito.
EDIT
ho fatto un po 'di follow-up su questo articolo.
L'autore sostiene che la codifica dichiarata in istruzioni di elaborazione XML, come:
<?xml version="1.0" encoding="UTF-8"?>
può essere ignorato quando si utilizza il tipo text/xml
supporto.
Essi sostengono la tesi con la definizione di specifica del tipo di famiglia text/*
MIME in RFC 2046, in particolare il seguente frammento:
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.
Secondo loro, tali difficoltà possono essere evitate utilizzando application/xml
tipo MIME. Se sia vero o no, non andrei così lontano da evitare text/xml
. IMHO, è meglio seguire la semantica della leggibilità umana (non leggibilità) e ricordarsi sempre di specificare il set di caratteri.
+1 per il collegamento. Con parole tue, qual è la conclusione di base raggiunta nell'articolo? Forse "l'articolo afferma che la codifica dei file viene ignorata, il che significa che non puoi inviare dati utf-8 e binari in un file con un'intestazione text/xml" inoltre è verificato? – Shanimal
Sono d'accordo con @Shanimal, la risposta dovrebbe includere il succo dell'articolo in quanto il link potrebbe non durare per sempre. La sua scomparsa renderà la risposta praticamente inutile. Qualcuno potrebbe confermare la dichiarazione sull'ignoranza delle istruzioni di elaborazione XML relative alla codifica? – toniedzwiedz
Secondo l'autore originale, questo è stato corretto nei successivi revs delle specifiche. Aggiornamento: la situazione è cambiata nel nuovo RFC HTTP/1.1: il set di caratteri predefinito di ISO-8859-1 per i tipi di supporto di testo è stato rimosso; il default è ora qualunque sia la definizione del tipo di supporto. – TheNorthWes
Questa è una vecchia domanda, ma che viene visitata di frequente e sono ora disponibili raccomandazioni chiare da RFC7303 quali obsolete RFC3023. In un (sezione 9.2) poche parole:
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
è visto da svn
come binario tipo mentre text/xml
come testo file per il quale può essere visualizzato un diff.
- 1. Qual è la differenza tra servizio Web e servizi remoti?
- 2. Qual è la differenza tra la ricarica del servizio e il riavvio del servizio?
- 3. Qual è la differenza tra il servizio web ordinario e il servizio web basato sul sapone?
- 4. Qual è la differenza tra colorWithSRGBRed vs colorWithDeviceRed vs colorWithCalibratedRed
- 5. Qual è la differenza tra Web farm e Web Garden?
- 6. Qual è la differenza tra un'applicazione Web e l'API Web?
- 7. Qual è la differenza tra un controller e un servizio?
- 8. Database vs tablespace, qual è la differenza?
- 9. Qual è la differenza tra il servizio, intentService in Android?
- 10. qual è la vera differenza tra lemmatization vs stemming
- 11. EQU vs DC.B. Qual è la differenza?
- 12. Shim vs. Sham: Qual è la differenza?
- 13. Web selenio click vs action.click qual è la differenza?
- 14. Permetti vs Stub, qual è la differenza?
- 15. node.js vs. mete.js qual è la differenza?
- 16. Qual è la differenza tra npm 3 vs Bower?
- 17. Qual è la differenza tra FreeGLUT vs GLFW?
- 18. underscorejs: qual è la differenza tra extendOwn vs extend?
- 19. qual è la differenza tra ResultSetExtractor vs Rowmapper?
- 20. Qual è la differenza tra Template.Instance() vs template.data?
- 21. Qual è la differenza tra essere db_owner vs db_datareader/db_datawriter?
- 22. Qual è la differenza tra un'App API e un'app Web?
- 23. Qual è la differenza tra asm.js e web assembly?
- 24. Qual è la differenza tra API e servizi Web?
- 25. Qual è la differenza tra Cassandra vs Oracle Coherence?
- 26. Qual è la differenza tra process.cwd() vs __dirname?
- 27. Qual è la differenza tra `while (true)` vs `while (\ true)`?
- 28. Qual è la differenza tra process.cwd() vs process.env.PWD?
- 29. In MsBuild, qual è la differenza tra CreateProperty vs PropertyGroup?
- 30. Qual è la differenza tra Function Pointer vs Function Call?
Quindi, leggendo la parte che hai citato, calcola che aspetto abbia un XML non leggibile, dal momento che XML è praticamente un testo. Suppongo che abbiate incorporato dati codificati in binario o base64 ... – jcolebrand
@drachenstern - Penso che elementi e attributi non descrittivi siano più probabili ('', ad esempio illeggibile dagli utenti _casual_). –
Oded
Immagino che per "umano" intendano "nerd informatico". :) – biziclop