xml - mkyong - rest service jersey tutorial




Qual è la differenza tra text/xml vs application/xml per la risposta del webservice (4)

Questa è più di una domanda generale sulla differenza tra text/xml e application/xml . Sono abbastanza nuovo per scrivere webservices (REST - Jersey). Sto producendo application/xml poiché è ciò che appare nella maggior parte degli esempi di tutorial / codice che ho usato per imparare, ma recentemente ho scoperto il text/xml e mi chiedevo cosa fosse diverso e quando lo useresti over application/xml ?


Da RFC ( 3023 ), nella sezione 3, Tipi di media XML:

Se un documento XML, vale a dire il documento XML di origine non elaborato, è leggibile dagli utenti occasionali, text / xml è preferibile a application / xml. Gli agenti utente MIME (e gli agenti utente Web) che non dispongono del supporto esplicito per text / xml lo tratteranno come text / plain, ad esempio visualizzando l'entità XML MIME come testo normale. L'applicazione / xml è preferibile quando l'entità XML MIME non è leggibile dagli utenti occasionali.

(sottolineatura mia)


Questa è una vecchia domanda, ma che è spesso visitata e sono ora disponibili raccomandazioni chiare da RFC7303 che obsolete RFC3023. In poche parole (sezione 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".

non rispondere alla tua domanda ma fornire una vita semplice:

quando vivi nell'ecosistema di .NET framework -> dai un'occhiata a https://referencesource.microsoft.com/#system.web/MimeMapping.cs line ~ 430:

AddMapping(".xml", "text/xml");

così puoi sempre farlo

string mimeType = System.Web.MimeMapping.GetMimeMapping(string yourFileName)

per ottenere correttamente il tuo mimo


application/xml è visto da svn come tipo binario mentre text/xml come file di testo per il quale può essere visualizzato un diff.







jersey